INSERT INTO rental (rental_date, last_update, return_date)
SET rental_date, last_update = NOW()
AND return_date = NULL.
我正在尝试将rental_date,last_update和return_date插入到表租用中,同时还将其时间戳设置为NOW()和NULL。
答案 0 :(得分:2)
语法应该更像这样。
INSERT INTO rental (rental_date, last_update, return_date)
SET
rental_date = NOW()
, last_update = NOW()
, return_date = NULL
虽然MySQL支持这种INSERT INTO ... SET
语法,但最好像这样使用ANSI SQL标准INSERT INTO ... VALUES
INSERT INTO rental
(rental_date, last_update, return_date)
VALUES
(NOW(), NOW(), NULL)
答案 1 :(得分:1)
您混合了两种不同风格的INSERT
。
使用语法
INSERT INTO table (column1, column2) VALUES (value1, value2)
或使用
INSERT INTO table SET column1 = value1, column2 = value2
但不要混合两者。
您的值NOW()
和NULL
基本上是正确的,因此它只是您插入的方式。
答案 2 :(得分:0)
您可以参考此链接中的答案https://stackoverflow.com/a/4852095/1712016
您可以使用null值更新rental_date和last_update字段,或者您可以这样查询。
INSERT INTO rental (rental_date, last_update, return_date)
VALUES(NOW(),NOW(),NULL)
or
INSERT INTO rental (rental_date, last_update, return_date)
VALUES(NULL,NULL,NULL)
答案 3 :(得分:0)
你必须现在SELECT(),你不能使用values子句:
INSERT INTO rental
(rental_date, last_update, return_date)
SELECT NOW(), NOW(), NULL;