gpt4 book ai didi

php - 在 MySQL 中同步两个表中的行数据的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 03:39:27 24 4
gpt4 key购买 nike

我有两张表,为方便起见,以下面为例。

  • 联系人(有姓名和电子邮件)
  • 消息(消息但也有姓名和电子邮件 w/c 需要同步到联系人表)

现在请那些渴望说“使用关系方法”或外键等的人。我知道,但这种情况不同。我需要在消息表本身上有一个消息的名称和电子邮件的“副本”,并且只需要不时同步它。

根据同步要求,我需要将消息上的姓名与联系人表中的最新姓名同步。

对于 Contacts 表中的所有行,我基本上在一个循环中有以下更新 SQL

UPDATE messages SET name=(
SELECT name FROM contacts WHERE email = '$cur_email')
WHERE email='$cur_email'

以上循环遍历所有联系人,并触发与我一样多的联系人。

我有几个循环的想法可以在不使用内部 SELECT 的情况下做到这一点,但我只是认为上面的方法会更有效(是吗?),但我想知道是否有一种 SQL 方式是更高效?喜欢:

UPDATE messages SET name=(
SELECT name FROM contacts WHERE email = '$cur_email')
WHERE messages.email=contacts.email

看起来像连接的东西?

最佳答案

我觉得应该效率更高

UPDATE messages m  JOIN contacts n  on  m.email=n.email SET m.name=n.name

关于php - 在 MySQL 中同步两个表中的行数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16208116/

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