0

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

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

关于如何处理此类问题的任何其他想法?可能是存储过程?感谢您的任何想法。

4

1 回答 1

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,可用于映射其他外键关系。您可以在工作完成后删除临时表

于 2010-02-18T09:41:38.103 回答