mysql。语法错误 1064(42000)

标签 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)
);

我有一个问题:

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 '(), receiver INT NOT NULL DEFAULT 1, value DEC(10,2) NOT NULL, PRIMARY KEY(num))' at line 4

最佳答案

不幸的是,MySQL 不允许您仅默认日期。您需要默认一个datetime:

CREATE TABLE expenses (
  num INT,
  paydate datetime DEFAULT now(),
  receiver INT NOT NULL DEFAULT 1,
  value DEC(10,2) NOT NULL,
  PRIMARY KEY (num)
);

Here是一个 SQL fiddle 。

关于mysql。语法错误 1064(42000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46389415/

相关文章:

php - 在 php/MySQL 中计算页面浏览量

mysql - 错误 1265。尝试从 txt 文件加载数据时,列的数据被截断

php - sql命令无法正确执行

php - CakePHP 链接插件下拉列表未链接

mysql - 我如何选择所有给定的员工 ID,即使是那些在另一个表中没有出现的员工 ID?

带有 MySQL session 变量的 PHP 准备语句

mysql - 了解 Springboot MySql 身份验证配置

c# - 如何在 C#.Net 中使用 MySQL 时摆脱 "Empty Path is not valid "错误

php - 按组排序,然后按组排序

mysql获取组数据的第一行和最后一行