Closed Hao6 closed 9 months ago
data := []map[string]interface{}{
{
"name": "deen",
"age": 23,
},
{
"name": "Tony",
"age": 30,
},
}
update := map[string]interface{}{
"role": "primaryschoolstudent",
"rank": 5,
}
cond, vals, err := qb.BuildInsertOnDuplicate(table, data, update)
db.Exec(cond, vals...)
这个例子是把data中2条数据的【role、rank】字段都更新为【"primaryschoolstudent"、5】吗?@caibirdme
【a,b】作为唯一索引的前提下,INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(c);
的功能是:
执行该sql前,假设数据如下: | a | b | c | | 1 | 2 | -1 | | 4 | 5 | -1 |
执行该sql后,预期结果如下: | a | b | c | | 1 | 2 | 3 | | 4 | 5 | 6 |
即该语句会将不同行的【c】更新为不同的值。
已经支持,可以关闭了
INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(c); 主要是不知道怎么构造BuildInsertOnDuplicate方法的第三个参数【update】?