Mysql 日期时间插入错误

Mysql 日期时间插入错误,mysql,datetime,Mysql,Datetime,我试图在我的表中插入日期时间,但我不明白为什么它不起作用。我正在运行以下查询: DROP TABLE IF EXISTS dynamic_pricing ; CREATE TABLE dynamic_pricing( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, time_start TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, time_stop TIMESTAMP NOT

我试图在我的表中插入日期时间,但我不明白为什么它不起作用。我正在运行以下查询:

DROP TABLE IF EXISTS dynamic_pricing ;
CREATE TABLE dynamic_pricing(
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    time_start  TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    time_stop TIMESTAMP NOT NULL,
    change_ratio REAL NOT NULL
    -- day_of_week INT(1)
);

INSERT INTO  dynamic_pricing(id,time_start,time_stop,change_ratio) 
VALUES(1,DATETIME('2000-01-01 00:00:00'),DATETIME('2000-01-01 00:00:02'),2);
我试着用了,结果却没用

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 '('2000-01-01 00:00:00'),DATETIME('2000-01-01 
00:00:02'),2)' at line 2

此查询有什么问题?

由于您默认了两个值,因此不需要插入它们。我建议:

INSERT INTO  dynamic_pricing(time_stop, change_ratio) 
    VALUES('2000-01-01 00:00:02', 2);

然后,
DATETIME()
是不必要的(它甚至是一个函数吗?)。是一个SQL FIDLE示例。

问题是您的值定义为DATETIME(),但您可以使用
插入动态定价值('2017-06-03 21:30:03')

相反。

插入动态定价(id、时间开始、时间停止、更改比率)

数值(1,'2000-01-01 00:00:00','2000-01-01 00:00:02',2)

是的,这不是一个函数。我的坏消息=/。删除它可以解决问题