gpt4 book ai didi

MySQL:将数据从 TableA:FieldA 复制到 TableB:FieldB 匹配公共(public) UID 字段

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

我没有看到有人提出这个确切的问题。大多数人似乎都想要同步。我只需要一份一次性副本。

MySQL 版本是 5.5.35。

在我的 MySQL 数据库中,我需要一次性将数据从 TableA:FieldA 复制到 TableB:FieldB,同时匹配公共(public) UID 字段 - TableA:UID 和 TableB:UID 是相关字段。

更具体地说,我将员工 ID 从一个表复制到另一个表中的不同字段,并且两个表都有共同的联系人 ID。显然,我需要 TableA:UID=1 的员工编号出现在 TableB 中 TableB:UID=1 的正确行上。

谢谢。

更新:测试了解决方案,收到错误 1442

UPDATE civicrm_value_member_fields_1
SET civicrm_value_member_fields_1.aft_id_43 =
(SELECT civicrm_contact.external_identifier FROM civicrm_contact
WHERE civicrm_contact.id = civicrm_value_member_fields_1.entity_id)

上述的替代版本:

UPDATE `civicrm_value_member_fields_1`
SET `aft_id_43` =
(SELECT `external_identifier` FROM `civicrm_contact`
WHERE `id` = `entity_id`)

两个错误1442:

#1442 - Can't update table 'civicrm_contact' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

最佳答案

以下示例应该有所帮助。

create table A(id int,cid int);
create table B(id int,cid int);

insert into A values(6,1);
insert into A values(7,2);
insert into A values(8,3);
insert into A values(9,4);

insert into B(cid) values(1);
insert into B(cid) values(3);
insert into B(cid) values(4);

表A

| ID | CID |
|----|-----|
| 6 | 1 |
| 7 | 2 |
| 8 | 3 |
| 9 | 4 |

表B

|     ID | CID |
|--------|-----|
| (null) | 1 |
| (null) | 3 |
| (null) | 4 |

UPDATE 查询将更新引用 A's id 字段的 B's id 字段。

update B set B.id = (select A.id from A where A.cid = B.cid);

表B

| ID | CID |
|----|-----|
| 6 | 1 |
| 8 | 3 |
| 9 | 4 |

关于MySQL:将数据从 TableA:FieldA 复制到 TableB:FieldB 匹配公共(public) UID 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22300879/

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