gpt4 book ai didi

mysql - 连接 4 个表并在第 5 个表 MySql 中更新

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

我正在尝试连接 4 个表并更新第 5 个表

INSERT INTO relation_table(cid,pid,liid,lnid,lgid,l_key)
SELECT a.cid,
a.pid,
b.liid,
c.lnid,
d.lang,
md5("a.cid a.pid b.liid c.lnid d.lang")
FROM links a
INNER JOIN links_table b
ON a.lurl = b.lurl
INNER JOIN lname_table c
ON a.lname = c.lname
INNER JOIN lang_table d
ON a.lang = d.lang
where a.lurl = "google"

主表链接包含其中的所有值,其他 3 个表是具有自己的 id + 值的子表,我使用它们来连接并更新关系表中的 id。

编辑

抱歉,我没有提到错误,其 md5 [Err] 1062 - 当我尝试添加 1 条记录时,键 'l_key' 的重复条目 '78527d845cc56e5d28e019d22565f2d7' 可以,但第二条记录不起作用,b.liid 不同第二个...但它的 md5 仍然与第一个相同。它不起作用,我不确定这是否是正确的方法。

请帮忙

最佳答案

您当前始终将相同字符串传递给md5()函数。对于您 INSERT 的第一条记录没有问题,但是一旦您尝试插入第二条记录,就会出现重复条目​​错误。

md5("a.cid a.pid b.liid c.lnid d.lang")

我相信您打算根据 5 个标识符构建一个唯一的字符串。您可以尝试按照以下方式进行操作:

md5(CONCAT(a.cid, a.pid, b.liid, c.lnid, d.lang))

关于mysql - 连接 4 个表并在第 5 个表 MySql 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34427814/

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