gpt4 book ai didi

MySQL从另一个表插入列数据

转载 作者:行者123 更新时间:2023-11-29 05:11:22 25 4
gpt4 key购买 nike

我有 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 的情况下更新表要禁用安全模式,请在首选项 -> SQL 编辑器中切换该选项并重新连接。

注意:我必须找到一种不禁用安全模式的方法。

UPDATE dummy
JOIN original
ON original.FirstName = dummy.FirstName
AND original.LastName = dummy.LastName
SET dummy.IDPacient = original.ID
WHERE original.ID <> 0;

现在,如果有人可以帮助我理解我在这 3 个案例中的每一个中做错了什么和/或给我一个更好的解决方案,我将不胜感激。

最佳答案

版本 1 完全错误 - 您将插入一个新行,而不是更新现有行。

版本 2 很接近,您只需要加入“原始”:

UPDATE dummy
SET ID = original.ID
FROM dummy
INNER JOIN original
ON dummy.FirstName =original.FirstName
AND dummy.LastName = original.LastName;

关于MySQL从另一个表插入列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38907297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com