我有两张桌子。一个是permission_index
,另一个是permission_index_bkp
。
我的脚本应该将一些行和数据从 传输permission_index
到permission_index_bkp
. 但是,如果所有 4 列中的数据都相同,我不想创建新行。
这就是我想要使用的:
INSERT INTO permission_index_bkp
(b_app, b_perm_type, b_perm_type_id, b_perm_3)
SELECT app, perm_type, perm_type_id, perm_3
FROM permission_index
WHERE app = 'module'
AND perm_type = '1'
AND perm_type_id = '2'
AND perm_3 IS NOT NULL
ON DUPLICATE KEY UPDATE app = app,
perm_type = perm_type,
perm_type_id = perm_type_id,
perm_3 = perm_3;
我一直收到如下错误:
1052:字段列表中的列“app”不明确(我想我通过更改permission_index_bkp 中的列名解决了这个问题)。
或者
1054:“字段列表”中的未知列“应用程序”
你们能告诉我如何解决我的查询吗?
谢谢!!
编辑1:
permission_index_bkp
这使错误消失了,但是,即使它们具有相同的值,也会不断添加行:
INSERT INTO permission_index_bkp
(b_app, b_perm_type, b_perm_type_id, b_perm_3)
SELECT app, perm_type, perm_type_id, perm_3
FROM permission_index AS pi
WHERE app = 'module'
AND perm_type = '1'
AND perm_type_id = '2'
AND perm_3 IS NOT NULL
ON DUPLICATE KEY UPDATE b_app = b_app,
b_perm_type = b_perm_type,
b_perm_type_id = b_perm_type_id,
b_perm_3 = b_perm_3;