我有两个表,我从CSV文件,公司(8000条记录)和联系人(11000条记录)导入。联系人的公司名称与公司表中的名称相匹配。插入记录后,需要将companyID添加到contacts表中。
a_test_company
+---------------+---------------+
| companyID | companyName |
+---------------+---------------+
| 1 | companyA |
| 2 | companyB |
| 3 | companyC |
| 4 | companyD |
+---------------+---------------+
a_test_contact
+---------------+---------------+---------------+---------------+
| contactID | contactName | companyName | companyID |
+---------------+---------------+---------------+---------------+
| 1 | contactA | companyA | NULL |
| 2 | contactB | companyA | NULL |
| 3 | contactC | companyB | NULL |
| 4 | contactD | companyC | NULL |
| 5 | contactE | companyC | NULL |
+---------------+---------------+---------------+---------------+
Expected Result:
a_test_contact
+---------------+---------------+---------------+---------------+
| contactID | contactName | companyName | companyID |
+---------------+---------------+---------------+---------------+
| 1 | contactA | companyA | 1 |
| 2 | contactB | companyA | 1 |
| 3 | contactC | companyB | 2 |
| 4 | contactD | companyC | 3 |
| 5 | contactE | companyC | 3 |
+---------------+---------------+---------------+---------------+我可以在PHP中使用SELECT和UPDATE循环来实现这一点,但是我也想知道如何在PHPmyAdmin中这样做。我尝试使用本文中的代码示例:SQL从第一个表中选择行并更新为第二个表替换我的名字,但我从MySQL获得了一个错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM a_test_company
JOIN a_test_company
ON a_test_contact.companyName = a_test' at line 3邮编样本:(他使用国家和城市)
UPDATE ci
SET ci.CountryId = co.CountryId
FROM tblCity ci
JOIN tblCountry co
ON ci.ISO2 = co.CountryISO2
AND ci.ISO3 = co.CountryISO3
WHERE ci.CountryId IS NULL我的第一次尝试:(我用国家代替公司,用城市代替联系)
UPDATE ci
SET ci.companyID = co.companyID
FROM a_test_contact ci
JOIN a_test_company co
ON ci.companyName = co.companyName
WHERE ci.companyID IS NULL我的第二次尝试,也犯了同样的错误:(我不懂词和合作,虽然我假设它是城市和国家的名字)
UPDATE a_test_contact
SET a_test_contact.companyID = a_test_company.companyID
FROM a_test_contact
JOIN a_test_company
ON a_test_contact.companyName = a_test_company.companyName
WHERE a_test_contact.companyID IS NULL发布于 2022-09-20 08:34:56
https://stackoverflow.com/questions/73783598
复制相似问题