當我插入代碼的是我得到空獲取NULL值TIMEDATE
INSERT INTO dates VALUES (date='12-11-20 11:30:11');
當我火查詢
SELECT * FROM dates;
我得到
|dates |
| NULL |
當我插入代碼的是我得到空獲取NULL值TIMEDATE
INSERT INTO dates VALUES (date='12-11-20 11:30:11');
當我火查詢
SELECT * FROM dates;
我得到
|dates |
| NULL |
INSERT INTO dates (date) VALUES('12-11-20 11:30:11')
你的語法錯了。
正確的語法如下所示。
INSERT INTO dates (dates) VALUES ('12-11-20 11:30:11');
您的INSERT
查詢是錯誤的。使用以下語法之一:
INSERT INTO dates (date) VALUES ('12-11-20 11:30:11')
INSERT INTO dates SET date = '12-11-20 11:30:11'
第一個是較好的,因爲在所有的數據庫的工作,而後者則是最有可能不是標準的SQL。
您還應該考慮使用2012-11-20
而不是12-11-20
。我們都知道12年前發生的事情是由於沒有使用4位數年份的人。
那麼,這裏有幾個有趣的問題需要注意。
首先,在我看來明確聲明將要更新的字段更安全:否則查詢在表結構更改後變得不可用。建議不要在表格的字段和表格中使用相同的名稱:稍後可能會使您感到困惑。
其次,你的DATETIME文字實際上是OK的MySQL的 - 它接受兩個數字的一年,通過特定規則解析它:
Year values in the range 70-99 are converted to 1970-1999.
Year values in the range 00-69 are converted to 2000-2069.
所以,你仍然可以使用'12 -11-20' 語法......如果再一次,不會讓後來維護腳本的人感到困惑(甚至是你,也許......))。
最後,INSERT表達式可以在VALUES子句中使用任何有效的表達式。在你的情況下,它是date = '...'
表達式,它被評估爲NULL;這就是爲什麼NULL被插入到你的表中。如果你卻希望僅插入DATETIME文字(你可能做的),刪除任務標記(這實際上是作爲「平等運營商)和簡單的使用...
INSERT INTO dates (datetime_field) VALUES ('2012-11-20 12:12:12');
...或本,如果你想用一個單一的查詢插入幾行:
INSERT INTO dates (datetime_field) VALUES ('2012-11-20 12:12:12'), ('2012-11-20 13:13:13');
希望這有助於。 )但是,即使你沒有任何問題,我仍然建議你學習Insert syntax和Date and time literals主題 - 這將有所幫助。
更改值格式爲yyyy-mm-dd hh:mm:ss – adatapost
學習插入查詢google它 –
是'VALUES(date ='...')'在MySQL中實際有效的語法? – ThiefMaster