gpt4 book ai didi

带有子选择的 MySql 更新

转载 作者:行者123 更新时间:2023-12-01 00:52:00 25 4
gpt4 key购买 nike

我有一个 mysql 数据库表,其中有一个电子邮件列,最多可以包含两封以分号分隔的电子邮件。我想要实现的是将电子邮件字段中的第二个电子邮件地址写入另一列 email2这是我到目前为止没有成功的尝试:

UPDATE user AS u
SET email2 = (SELECT SUBSTRING_INDEX(email, ';', -1)
FROM user
WHERE user.id=u.id)
WHERE username LIKE "%;%"

在搜索这个问题时,有一些解决方案在子查询中取消了第二个子查询,但没有一个真正符合我的问题。

如果有人有解决方案,请发布。我被困了至少 2 个小时。

非常感谢。

最佳答案

不需要让你的生活复杂化:

UPDATE user 
SET email2 = SUBSTRING_INDEX(email, ';', -1)
WHERE username LIKE '%;%';

并清除同一查询中的第一列

UPDATE user 
SET
email2 = SUBSTRING_INDEX(email, ';', -1),
email = SUBSTRING_INDEX(email, ';', 1),
WHERE username LIKE '%;%';

关于带有子选择的 MySql 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14565176/

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