日期时间插入错误

时间:2017-06-03 19:28:45

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

我尝试使用this,只是为了获取

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

此查询有什么问题?

3 个答案:

答案 0 :(得分:1)

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

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

然后,DATETIME()是不必要的(它甚至是一个函数?)。 Here是一个SQL小提琴示例。

答案 1 :(得分:1)

问题是您的值被定义为DATETIME()但您可以使用 INSERT INTO dynamic_pricing VALUES ('2017-06-03 21:30:03' ) 代替。

答案 2 :(得分:1)

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