Mysql 使用多个表更新查询不';行不通
我试图用另一个表中的数据更新MySQL中的一个表Mysql 使用多个表更新查询不';行不通,mysql,phpmyadmin,Mysql,Phpmyadmin,我试图用另一个表中的数据更新MySQL中的一个表 UPDATE KassaticketRegels SET soort = (SELECT t3.benaming FROM KassaticketRegels AS t1 INNER JOIN Diensten AS t2 ON t1.dienst = t2.id INNER JOIN DienstGroepen AS t3 ON t2.dienstGroep = t3.id WHERE t1.id = Kas
UPDATE KassaticketRegels
SET soort = (SELECT t3.benaming
FROM KassaticketRegels AS t1 INNER JOIN Diensten AS t2 ON t1.dienst = t2.id INNER JOIN DienstGroepen AS t3 ON t2.dienstGroep = t3.id
WHERE t1.id = KassaticketRegels.id)
当我模拟查询时,它会给我304个匹配的行。
但当我按下go键时,会出现错误“#1093-表'KassaticketRegels'被指定两次,既作为'UPDATE'的目标,也作为单独的数据源”
我如何解决这个问题?查看您的代码似乎需要更新内部连接
UPDATE KassaticketRegels t1
INNER JOIN Diensten AS t2 ON t1.dienst = t2.id
INNER JOIN DienstGroepen AS t3 ON t2.dienstGroep = t3.id
set t1.soort = t3.benaming
我认为您获取该值的查询返回了不止一行,因此您得到了该错误。尝试添加。。。(选择顶部1…)或一个距离,这样就不会返回多行。您还可以尝试先将值放入变量中,然后进行更新