我有一张表,已导入到 mysql 中。
现在我需要创建多个相关表。
所以基本上我目前有以下内容
start transaction;
Insert into Address (AddressLine1, AddressLine2, Town, County, Postcode)
Select Distinct Address_line_1, Address_Line_2, Town, County, Postcode from Import;
set addressLastId = last_insert_id();
INSERT INTO Organisation (Name, AddressID)
SELECT DISTINCT Supplier_Name, addressLastId FROM Import;
commit;
我使用last_insert_id
的第二部分永远不会增加,可能是因为它获取了最后一个插入。
所以我需要研究如何获取插入地址表中的每一行的前一个 id?
我需要在地址插入中有一个内部循环吗?
干杯
最佳答案
我同意蒂姆的观点。 填充地址后,您可以运行
INSERT INTO Organisation (Name, AddressID)
SELECT DISTINCT Import.Supplier_Name, Address.id
FROM Import INNER JOIN Address ON (set all the address lines and city etc =, since Im guessing there wasnt an address ID in the original import)
关于mysql 从一张表创建多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623396/