mysql-基于3个表进行更新

mysql-基于3个表进行更新,mysql,Mysql,我尝试同时更新3个表。clients.id>cars.client\u id>works.car\u id为索引 UPDATE clients, cars, works JOIN cars on cars.client_id = clients.id JOIN works on works.car_id = cars.id SET clients.name = '15-adsadadadsa' , clients.email = '15-aaa@aa.com' , clients.ph

我尝试同时更新3个表。clients.id>cars.client\u id>works.car\u id为索引

UPDATE clients, cars, works 
JOIN cars on cars.client_id = clients.id 
JOIN works on works.car_id = cars.id 
SET clients.name = '15-adsadadadsa' , 
clients.email = '15-aaa@aa.com' , 
clients.phone = '15-3232131', 
clients.email = '15-aaa@aa.com' , 
cars.reg = 'aaa-aaa' , 
cars.model = 'aaa-aaa' , 
cars.year = '111111' , works.work = 'aaaa' WHERE works.id = '15';
但是得到错误

非唯一表/别名:“cars”


谢谢你的帮助

这是因为
cars
表被提到了两次(在
UPDATE
JOIN
中),您不需要在
UPDATE
中提到表名,如果它们在
JOIN
中,请尝试以下操作:

UPDATE clients
JOIN cars on cars.client_id = clients.id 
JOIN works on works.car_id = cars.id 
SET clients.name = '15-adsadadadsa' , 
clients.email = '15-aaa@aa.com' , 
clients.phone = '15-3232131', 
clients.email = '15-aaa@aa.com' , 
cars.reg = 'aaa-aaa' , 
cars.model = 'aaa-aaa' , 
cars.year = '111111' , works.work = 'aaaa' WHERE works.id = '15';

打败我20秒+1