3

我正在尝试使用以下命令更改我的 MySQL 数据库中的一堆列以具有 NOT NULL 约束:

mysql> ALTER TABLE Jobs CHANGE Date_to_Run Date_to_Run NOT NULL;

我认为这就是您进行此类更改的方式,但它给了我一个语法错误。
关于我做错了什么的任何想法?

编辑:这是错误

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“NOT NULL”附近使用正确的语法

4

2 回答 2

6

出了什么问题:

ALTER TABLE Jobs CHANGE Date_to_Run Date_to_Run NOT NULL;
                                    ^^^^^^^^^^^ need to specify the data type
                 ^^^^^ it's MODIFY, not CHANGE

试试这个:

ALTER TABLE Jobs MODIFY Date_to_Run DATE NOT NULL;

我假设它是类型DATE- 如果不只是放入实际类型而不是DATE,那么在它后面加上NOT NULL.

ALTER TABLE文档这里

于 2013-06-12T19:19:02.833 回答
0

语法是这样的:ALTER TABLE table_name MODIFY column_name datatype not null

你可以在这个网站上看到它:http: //www.w3schools.com/sql/sql_alter.asp

于 2013-06-12T19:21:32.917 回答