我有一个名为promotions
已插入数据:
COLUMNS VALUE
`startdate` 15-03-2014 00:00:00
`enddate` 30-05-2014 00:00:00
`promotion_for` 1 (product_id)
插入数据的新查询
COLUMNS VALUE
`startdate` 15-03-2014 00:00:00
`enddate` 30-05-2014 00:00:00
`promotion_for` 1 (product_id)
如果在插入日期期间已在同一产品中运行促销,我不想插入新促销。
不知道如何为它生成MySQL查询。
答案 0 :(得分:0)
首先向promotions
添加唯一键:
ALTER TABLE `promotions`
ADD UNIQUE INDEX(`startdate`,`enddate`,`promotion_for`);
然后:
INSERT INTO `promotions` ( `startdate`,`enddate`,`promotion_for`)
VALUES ('15-03-2014 00:00:00', '30-05-2014 00:00:00', '1')
ON DUPLICATE KEY
UPDATE `startdate`='15-03-2014 00:00:00', `enddate`='30-05-2014 00:00:00', `promotion_for` = '1';