mysql-基于3个表进行更新
我尝试同时更新3个表。clients.id>cars.client\u id>works.car\u id为索引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
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