0

谁能建议我如何在一个查询中插入当前日期+租期?代码块中的语法不起作用,但 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;

谢谢。

这可行,但我需要当前日期 + 租期(租期是一个整数,表示要添加到当前日期的天数):

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;
4

1 回答 1

1

您的语法似乎是正确的。因此,这可能与列的数据类型有关。您尚未提供详细信息,但以下工作:

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

您可以在 SQL Fiddle 中看到输出

于 2013-07-12T21:37:33.733 回答