我有两张桌子:动物和espece(fr ='物种')。 在动物中我有一个名为espece_id的列,其中我想用espece.id(主键)填充数据,我尝试这样做:
UPDATE animal
SET espece_id = espece.id
WHERE espece LIKE concat('%', espece.name, '%');
表格详情:
animal: id, espece, espece_id
espece: id, name, scientific_name
animal.espece
和espece.name
在某种程度上相同,如:" dog" "欧亚sheperd狗"这就是我尝试在此更新中使用LIKE的原因,但它给出了:
错误代码:1054。未知栏' espece.name'在' where子句'
我做错了什么?
答案 0 :(得分:1)
你需要一个加入:
UPDATE animal AS a
JOIN espece AS e ON a.espece LIKE concat('%', e.name, '%')
SET a.espece_id = e.id