我有两张桌子。(在 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 语句。谢谢您的帮助。