我尝试像这样运行一个insert语句(通过MySQLdb-python):
insert into LinkTable1ToTable2 (site_id, customer_id) values ('xyz-c1', '123');
仅出现以下错误:
Error Code: 1062. Duplicate entry 'xyz-c1-123' for key 'PRIMARY'
它是一个链接表(中间表),它链接另外两个具有多对多关系的表。该表由两列组成,形成一个复合主键,如下所示:
site_id | customer_id
---------------------
xyz-a1 | 121
xyz-b1 | 122
表架构是:
Field, Type, Null, Key, Default, Extra
'site_id', 'char(40)', 'NO', 'PRI', '', ''
'customer_id', 'int(11)', 'NO', 'PRI', '0', ''
在互联网和堆栈溢出上搜索了几个小时之后,我唯一想到的就是一些脆弱的东西:
insert ignore into LinkTable1ToTable2 (site_id, customer_id) values ('xyz-c1', '123')
ON DUPLICATE KEY UPDATE site_id=values(site_id), customer_id=values(customer_id);
仅返回:
0 row(s) affected
我觉得有点迷失......
我需要一个insert语句,将一对site_id和customer_id插入到表中(请参阅问题开头的语句)。
有人可以帮忙吗?