0
我做了一個表格:MySQL的日期列搞砸
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| date | date | NO | | NULL | |
| user_id | int(8) | YES | | NULL | |
| isbn | varchar(13) | NO | | NULL | |
| price | decimal(6,2) | NO | | NULL | |
+---------+--------------+------+-----+---------+----------------+
而且,日期colomn不工作。我想我需要修改表格默認爲「CURDATE()」。這就是我從谷歌搜索獲得的。我甚至不確定這是否是問題,但我的更改聲明不起作用。
我想這個改變:
mysql> ALTER TABLE buybacks MODIFY date date not null default curdate();
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'curdate()' at line 1
有人能幫忙嗎?
感謝馬克,我得到它的工作後,我會看到有關重命名它。這有點煩人。我做桌子時就沒有發生過。即使使用反引號,我也遇到了同樣的錯誤: 'mysql> ALTER TABLE buybacks MODIFY'date' date not null默認curdate(); 錯誤1064(42000):您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,在第1行'curdate()'附近使用正確的語法' – Charlie 2011-03-09 14:54:15
謝謝,Mark。我會嘗試製作數據類型TIMESTAMP。我真的只需要YYYY-MM-DD,這就是我使用DATE的原因。我會將它轉換爲TIMESTAMP,並且只在需要日期時才嘗試將該格式取出。 – Charlie 2011-03-09 14:59:58
謝謝,馬克。我最終將數據類型更改爲TIMESTAMP並使用CURRENT_TIMESTAMP。我太多是一個新手進入觸發器。 感謝您的幫助!我全部修好了。 – Charlie 2011-03-09 15:23:04