我认为这是不可能的,因为我找不到任何东西,但我想我会在这里检查一下,以防我没有寻找正确的东西。
我的数据库中有一个设置表,其中有两列。第一列是设置名称,第二列是值。
我需要同时更新所有这些。我想看看是否有一种方法可以在一个查询的同时更新这些值,如下所示
UPDATE table SET col1='setting name' WHERE col2='1 value' AND SET col1='another name' WHERE col2='another value';
我知道上面的不是正确的 SQL 格式,但这是我想要做的事情,所以想知道是否有另一种方法可以完成此操作,而不必为我想要的每个设置执行单独的 SQL 查询更新。
感谢您的帮助。
您可以使用INSERT INTO .. ON DUPLICATE KEY UPDATE
使用不同的值更新多行。
您确实需要一个唯一索引(如主键)来使“重复键”部分工作
Example:
INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
ON DUPLICATE KEY UPDATE b = VALUES(b), c = VALUES(c);
-- VALUES(x) points back to the value you gave for field x
-- so for b it is 2 and 5, for c it is 3 and 6 for rows 1 and 4 respectively (if you assume that a is your unique key field)
如果您有具体案例,我可以为您提供确切的查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)