我有一个表,我需要为450行添加信息,我可以用唯一的订单号识别每一行,只需要为每个订单号更新表中的4行。
update ordercontacts
set firstname = 'joe', lastname = 'smith', email = 'joesmith@smith.com', contacttypeid = 13
where orderid = 1284480
这只是取代了我的价值所以我必须解决这个问题
我也试过这个
insert into ordercontacts
(firstname, lastname, email, contacttypeid)
values
('joe', 'smith', 'jowsmith@smith.com', 13)
where orderid in (1284480)
但语法不正确,我不确定正确的语法是什么
我原以为这样的东西会起作用,但事实并非如此。谁能帮我吗?每个订单号都附有不同的联系人,我基本上希望最终结果是这样的:
order firstname lastname email contacttypeid
1284480 joe smith joesmith@smith.com 13
1284480 steve andrews steve@steve.com 11
我希望在每个订单号已存在的联系人之上添加新联系人。我所拥有的更新语法仅替换已存在的信息。
答案 0 :(得分:1)
我希望在每个订单号已存在的联系人之上添加新联系人。
更新语句无法插入新行。您不能通过您发布的更新声明“添加新联系人”。
您需要insert
声明。
答案 1 :(得分:1)
insert into ordercontacts
(orderid, firstname, lastname, email, contacttypeid)
values
(1284480,'joe', 'smith', 'jowsmith@smith.com', 13)
答案 2 :(得分:1)
insert into table_name (order, firstname, lastname, email, contacttypeid)
values (1284480, 'joe'...);
您想要插入值而不是更新。更新将覆盖现有值的值,实际上它是“在id = y的行中替换x”。 Insert实际上会创建一个新行。