0

我有一个有五列的表:uid, lead_id, form_id, field_number, value.

我想更新value WHERE lead_id, form_id, and field_number存在。在我的脚本中,我不知道 id(不执行查询),但是lead_id, form_id, field_numberTOGETHER 也是unique. 有时,该行将NOT exist必须插入而不是更新。

它变得更加复杂,因为我有大约 30 行、value列,我想更新/插入并且宁愿在一个查询中执行此操作。

更新 这基本上是我今天使用的,但它没有更新(显然)不存在的行。因此,如果最初未填充数据,而是添加到更新中,则此数据不会添加到数据库中。

这是我目前拥有的:

UPDATE someTableName SET value = field_number WHEN field_number_value_1 THEN 'newValue1' WHEN field_number_value_2 THEN 'newValue2' WHEN field_number_value_3 THEN 'newValue3' END WHERE form_id = 3 AND lead_id = 37 AND field_number IN field_number_value_1, field_number_value_2, field_number_value_3";

4

1 回答 1

1
INSERT INTO table (uid, lead_id, form_id, field_number, value) 
VALUES (1, 1, 1, 1, 0) 
ON DUPLICATE KEY UPDATE value = value + 1 ; 

更多信息:关于重复密钥更新

于 2013-02-18T00:26:57.640 回答