mysql 从一张表创建多个表

标签 mysql sql

我有一张表,已导入到 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/

相关文章:

mysql - (初学者)SQL查询无缘无故抛出错误

MySQL建议和调查

php - 多连接Mysql

sql - 如何从 select 语句添加插入到表中

javascript - 如何通过变量将数据插入MySQL数据库?

PHP MySQL 连接错误 - 实现重试逻辑

sql - Postgres 删除表语法错误

SQL Server - 'NOT NULL' 主键上的约束冗余?

php - 显示错误:mysqli::real_connect(): (28000/1045): 用户 'user' @'192.188.145.163' 拒绝访问(使用密码:YES)

mysql - 通过子查询找到第二高的薪水