Mysql。语法错误1064(42000)
你好!我不明白是什么问题?Mysql。语法错误1064(42000),mysql,Mysql,你好!我不明白是什么问题? CREATE TABLE expenses( num INT, paydate DATE DEFAULT DATE(), receiver INT NOT NULL DEFAULT 1, value DEC(10,2) NOT NULL, PRIMARY KEY(num) ); 我有个问题: 错误1064(42000):您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 要在“()”附近使用的语法,receiver INT NO
CREATE TABLE expenses(
num INT,
paydate DATE DEFAULT DATE(),
receiver INT NOT NULL DEFAULT 1,
value DEC(10,2) NOT NULL,
PRIMARY KEY(num)
);
我有个问题:
错误1064(42000):您的SQL语法有错误;检查
与右边的MySQL服务器版本相对应的手册
要在“()”附近使用的语法,receiver INT NOT NULL默认值为1,值为
第4行的DEC(10,2)不为NULL,主键(num))'
不幸的是,MySQL不允许只默认日期。您需要默认的
日期时间
:
CREATE TABLE expenses (
num INT,
paydate datetime DEFAULT now(),
receiver INT NOT NULL DEFAULT 1,
value DEC(10,2) NOT NULL,
PRIMARY KEY (num)
);
是一个SQL FIDLE。有关使用触发器的信息,请参见:如果使用MariaDB:“从MariaDB 10.2.1开始,您可以在默认情况下使用大多数函数”()。因此,以下操作将起作用:paydate DEFAULT CURDATE()
。