使用自动增量Mysql

时间:2015-07-15 09:15:21

标签: mysql sql auto-increment multiple-insert

我试图将多行插入到由自动增量的外键连接的两个表中。我似乎无法找到一个好的解决方案。 表:

  • eav_attribute_option

    • option_id(PK,Autoincrement)
    • attribute_id
    • SORT_ORDER
  • eav_attribute_option_value

    • value_id(PK,Autoincrement)
    • option_id(FK)
    • STORE_ID

我想这样做:

insert into eav_attribute_option(attribute_id) values(100,101,102,103,...);
insert into eav_attribute_option_value(option_id,store_id,value) values 
    (1,0,"English"),(1,1,"German"),(2,0,"English1"),(2,1,"German2")

最好的方法是什么,我似乎无法找到一个好的方法。 :

  • 获取下一个自动增量,然后插入(需要锁定表之间)
  • 插入第一部分,然后检索PK值,构建第二部分并插入(数据不完整一段时间,第二部分出错时会发生什么?)
  • 如果有可能,可以使用连接插入某种方法吗?

编辑: 为了澄清,我希望尽可能少地使用查询。我知道我可以做最后插入的id,但我不想用数以千计的插入来杀死服务器。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

insert into eav_attribute_option (attribute_id) values(100);

insert into eav_attribute_option_value (option_id, store_id, value)
values (LAST_INSERT_ID(), 0, "English");

但是你需要逐个插入行。考虑在您的应用程序中执行循环。