【发布时间】:2016-08-11 22:54:23
【问题描述】:
我有 2 张桌子:
original {ID, FirstName, LastName}
and
dummy {ID(NULL), FirstName, LastName}
我必须将 original.ID 插入 t2.ID,但前提是两个表中的 FirstName 和 LastName 相同。现在,我试过了:
1.错误代码:1054。'where子句'中的未知列't2.FirstName'
INSERT INTO dummy (ID)
SELECT ID
FROM original
WHERE dummy.FirstName = original.FirstName
AND dummy.LastName = original.LastName;
2.错误代码:1054。'where子句'中的未知列'original.FirstName'
UPDATE dummy
SET ID = original.ID
WHERE dummy.FirstName=original.FirstName
AND dummy.LastName= original.LastName;
3.错误代码:1175。您正在使用安全更新模式,并且您尝试更新没有使用 KEY 列的 WHERE 的表 要禁用安全模式,请切换 Preferences -> SQL Editor 中的选项并重新连接。
注意:我必须找到一种不禁用安全模式的方法。
UPDATE dummy
JOIN original
ON original.FirstName = dummy.FirstName
AND original.LastName = dummy.LastName
SET dummy.IDPacient = original.ID
WHERE original.ID <> 0;
现在,如果有人可以帮助我了解我在这 3 个案例中的每一个错误和/或给我一个更好的解决方案,我将非常感谢您的帮助。
【问题讨论】:
标签: mysql mysql-workbench