在mySQL中混合auto_increment和non

时间:2010-02-18 09:32:06

标签: mysql auto-increment import-from-excel

我有一组表,其中每个表的ID键都是auto_incrementing。现在我的用户想要从一个csv平面文件中导入一堆具有不同键的外部数据。

我认为最好的方法是锁定表,为每个表获取auto_increment列的下一个值,然后对于我插入的每一行,只需换出新AI值的现有主键。由于要导入的数据具有多个表和多个关键关系,因此这将变得非常难看。

关于如何处理这样的问题的任何其他想法?存储过程可能吗?谢谢你的任何想法。

1 个答案:

答案 0 :(得分:1)

将新字段添加到要导入的表中,名为old_key,将csvs导入临时表,然后执行类似

的操作
insert into mytable(firstname, lastname, old_key) 
select fname, lname, old_key from temp_table

自动增量的mytable_id字段将正常工作,现在您将拥有old_key和一个可用于映射其他外键关系的新mytable_id。您可以在工作完成后删除临时表