我使用下面的查询带有成功,只有当data_advertentie中存在ID的行时才会执行此查询。
INSERT INTO data_contactgegevens (ID_advertentie, telefoonnummer, website)
SELECT ID_advertentie, :telefoonnummer, :website FROM data_advertenties
WHERE ID_advertentie = :ID_advertentie AND unieke_hash_plaatsen = :hash_plaatsen
现在我想添加一个ON DUPLICATE KEY,所以如果data_contactgegeve中存在该行,那么该行将被更新。
请帮忙......
答案 0 :(得分:1)
在on duplicate key update
声明的末尾添加insert
部分。
示例强>
create table a(
id int not null auto_increment primary key,
x varchar(10)
);
create table b(
id int not null auto_increment primary key,
y varchar(10)
);
insert into a(x) values ('a'), ('b'), ('c');
insert into b(y) values ('e'), ('d');
insert into a
select * from b
on duplicate key update x = y;
结果:
select * from a;
| ID | X |
|----|---|
| 1 | e |
| 2 | d |
| 3 | c |
以下是此示例的SQL fiddle。