首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL在试图更改表时抛出语法错误

MySQL在试图更改表时抛出语法错误
EN

Stack Overflow用户
提问于 2022-11-20 19:20:27
回答 1查看 19关注 0票数 0

我一直试图修改一个表,以包含一个默认值为CURDATE()的date列,但是MySQL经常抛出语法错误。现在,我已经检查了从多个来源修改表的语法,但是我相信我没有任何语法错误。当我删除默认值部分时,查询运行良好,但由于某些原因,它无法为date列添加默认值。我不知道为什么会这样。

守则:

代码语言:javascript
复制
mysql> describe test;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| col1  | int          | YES  |     | 0       |       |
| col2  | varchar(100) | YES  |     | hello   |       |
| col3  | varchar(5)   | YES  |     | T       |       |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.02 sec)

mysql> ALTER TABLE test ADD COLUMN col4 DATE 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>

编辑:我的MySQL版本: 8.0.31

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-20 19:32:58

我想现在应该是这样的:

代码语言:javascript
复制
ALTER TABLE test ADD COLUMN col4 DATE DEFAULT (CURRENT_DATE);

注意括号,或(curdate())

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74511204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档