gpt4 book ai didi

mysql:如何删除然后插入某种类型的所有记录?

转载 作者:行者123 更新时间:2023-11-29 14:19:02 24 4
gpt4 key购买 nike

情况如下:

  • 我有一个主要管理员,其id在表person中是478
  • 该管理员应该处理表合作伙伴中的合作伙伴。
  • 有一个表可以“连接”它们:person_partners

有时,有些人会添加新的合作伙伴,我想运行一个查询:

  • 要么:
    • 删除管理员与合作伙伴之间的所有链接,例如DELETE * FROM person_partners where id_person=478
    • 重新插入此管理员与合作伙伴之间的所有链接(= 新合作伙伴也将被插入),某种 INSERT INTO person_partners (id_person,id_partner) VALUES (478, SELECT id来自合作伙伴)(但此查询给了我这个错误:ERROR 1242 (21000):子查询返回超过 1 行)
  • 或者直接使用 id_person=478 插入 person_partners 中尚未包含的所有合作伙伴

有什么想法吗?

最佳答案

就像BugFinder所说,“你似乎对这个问题有自己的答案”

要修复 ERROR 1242,您必须这样编写:

INSERT INTO person_partners (id_person,id_partner) 
SELECT '478', id FROM partners;

或者“简单地插入尚未在 person_partners 中 id_person=478 的所有合作伙伴”,您可以

INSERT IGNORE INTO person_partners (id_person,id_partner) 
SELECT '478', id FROM partners;

了解更多信息here .

关于mysql:如何删除然后插入某种类型的所有记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12089551/

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