您好我试图在谷歌搜索一个答案,但即使我不是第一个有这个问题,我也没有找到。对不起,如果我错了......
我想把一些表的值放在另一个有条件和左连接的表中。 这是我的查询,但它不起作用,我真的不明白为什么,。
UPDATE `table1`
SET `table1`.`field1` = `table2`.`value`
FROM `table1`
LEFT JOIN `table2` ON `table2`.`idt1`=`table1`.`id`
WHERE `id`='35520'
它说:
#1064 - 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'FROM附近使用正确的语法
在第3行。
如果你有任何建议我会很高兴听到这些,谢谢!
巴斯蒂安
答案 0 :(得分:3)
你试过这样的吗?
UPDATE `table1`
SET `table1`.`field1` = (
SELECT `table2`.`value`
FROM `table2`
WHERE `table2`.`idt1`=`table1`.`id`
)
WHERE `id`='35520'
答案 1 :(得分:1)
你的语法错了。如果您的SQL风格支持它,请尝试:
UPDATE `table1`
LEFT JOIN `table2` ON `table2`.`idt1`=`table1`.`id`
SET `table1`.`field1` = `table2`.`value`
WHERE `id`='35520'
否则你需要一个子查询:
UPDATE `table1`
SET `table1`.`field1` = (SELECT `table2`.`value`
FROM `table2`
WHERE `table2`.`idt1`=`table1`.`id`)
WHERE `id`='35520'