有人能建议我如何在一个查询中插入当前日期+租赁期吗?代码块中的语法不起作用,但 DATE_ADD(NOW(),INTERVAL 1 DAY) 起作用。我试图让 INTERVAL 中的整数基于rental_period。我可以通过多个查询来做到这一点,但我正在尝试做一个(如果可能的话)。
INSERT INTO rental_details (rental_due_date, vg_id, rental_id) SELECT DATE_ADD(
NOW(), INTERVAL rental_period DAY), vg_id, 1 FROM status INNER JOIN video_games as vg ON
vg.status_id = status.status_id WHERE vg_id = 3;
谢谢。
这可行,但我需要当前日期+rental_period(rental_period是一个整数,表示添加到当前日期的天数):
INSERT INTO rental_details (rental_due_date, vg_id, rental_id) select rental_period,
vg_id, 1 from status inner join video_games as vg on vg.status_id = status.status_id
where vg_id = 3;
最佳答案
您的语法似乎是正确的。因此,这可能与您的列的数据类型有关。您尚未提供详细信息,但可以执行以下操作:
create table vg_status
( rental_period integer);
create table rental_details
(due_date date);
insert into vg_status values (3);
insert into vg_status values (300);
insert into rental_details
select date_add(now(), interval rental_period day)
from vg_status
select *
from rental_details
关于mysql - 在插入语句的子查询中执行日期和时间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17624069/