我曾经在sql查询中吮吸我有2个表和2行1表是user_sets,第二个是user_profiles我需要更新user_sets行基于user_profiles表的行。 我举一个例子。
数据库结构
table User_sets
row n_color_pack
-------------
table User_profiles
row gander
---------------------
查询:
UPDATE user_sets
SET n_color_pack = 1
FROM user_profiles,
user_sets
WHERE gander = '0';
如您所见,我想通过为性别为0的每个人设置n_color_pack 1来更新User_sets表。
答案 0 :(得分:2)
您需要JOIN
表来实现此目的。这样的事情应该有效(未经测试):
UPDATE user_sets as s
INNER JOIN user_profiles as p
ON s.id = p.id
SET s.n_color_pack = 1
WHERE p.gander = 0
更改s.id
和p.id
,具体取决于哪个列连接您案例中的两个表。
(感谢ruakh指出我的语法错误)