Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
数据库:MySQL
我有一个临时表,其中所有传入数据都是从 CSV 文件加载的。我有一个从临时表传输数据的主表。现在,我需要检查主表中是否已经存在临时表中的任何行。如果存在,我需要更新主表中的数据,否则我需要将该行插入主表。
对我来说,这里的问题是临时表中没有 pk 列,因此我可以知道要在临时表和主表之间比较哪一行。
有没有办法检查没有主键的已经存在的行?不能保证任何列都是唯一的。
请帮帮我。
将决定留给主表。
来自 MySQL 文档
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT ... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
因此,如果您从 YourTempTable 执行yourMasterTable INSERT INTO...将满足您的需求SELECTON DUPLICATE KEY
INSERT INTO
SELECT
ON DUPLICATE KEY