我有两张桌子。(在 MySQL 中)
表 'categoryimport' 包含本地语言的类别名称。
ID        Category      ID_category
1000001     Autoservisy   NULL
1000002     Autoservisy   NULL
1000002     Pneuservisy   NULL
1000003     Autoservisy   NULL
1000004     Autoservisy   NULL
1000005     Autoservisy   NULL
表“categorylang”还包含相同的本地语言类别名称及其 ID(ID_category 字段)。
ID_category      EN                       CZ
100              Garages              Autoservisy
101              Car bodywork             Autoklempíři
102              Motor-vehicle electrics  Autoelektrikáři
103              Car Dealers              Auto-moto prodejci 
110              Windscreen repair    Opravy autoskel
111              Tire service             Pneuservisy
我需要做的就是根据 categoryimport.Category = categorylang.CZ 将 'categorylang' 表中的 ID_category 插入到表 'categoryimport' 中的相应 ID_category 我尝试过:
UPDATE categoryimport JOIN categorylang 
ON categoryimport.Category = categorylang.CZ SET categoryimport.ID_category = categorylang.ID_category
结果是:
ID        Category      ID_category
1000001     Autoservisy   100
1000002     Autoservisy   **NULL**
1000002     Pneuservisy   111
1000003     Autoservisy   100
1000004     Autoservisy   100
1000005     Autoservisy   100
1000002 的字段 ID 类别未更新。也必须更新为 100 值。仅更新一个值 1000002。
我需要以下结果:
ID        Category      ID_category
1000001     Autoservisy   100
1000002     Autoservisy   **100**
1000002     Pneuservisy   111
1000003     Autoservisy   100
1000004     Autoservisy   100
1000005     Autoservisy   100
使用 CURSORS 可以解决问题,但我更喜欢一些简单的 SQL 语句。谢谢您的帮助。