我正在尝试在我的表中插入日期时间,但我无法理解为什么它不起作用。我正在运行以下查询:
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
此查询有什么问题?
答案 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);