Php MySQL将数据加载到两个相关的表中

Php MySQL将数据加载到两个相关的表中,php,mysql,wordpress,csv,Php,Mysql,Wordpress,Csv,在MySQL查询中,在执行LOAD DATA语句之后,是否可以获取最后插入的ID,以便在其他表的LOAD数据中使用?一般来说,是否可以为两个相关表使用加载数据?否。不可能使用加载数据填充语法。(函数LAST\u INSERT\u ID()只返回一个值,而不是一组行的值,因此除非您插入单独的行,否则您不会期望LOAD DATA infle用于插入单独的行。) 解决方法(如果我理解您想要完成什么)是使用中间表作为加载的目标。截断表(或删除并重新创建),并使用加载数据填充加载行 然后,使用SQL语句从

在MySQL查询中,在执行LOAD DATA语句之后,是否可以获取最后插入的ID,以便在其他表的LOAD数据中使用?一般来说,是否可以为两个相关表使用加载数据?

否。不可能使用
加载数据填充
语法。(函数
LAST\u INSERT\u ID()
只返回一个值,而不是一组行的值,因此除非您插入单独的行,否则您不会期望
LOAD DATA infle
用于插入单独的行。)

解决方法(如果我理解您想要完成什么)是使用中间表作为加载的目标。截断表(或删除并重新创建),并使用加载数据填充加载行


然后,使用SQL语句从该表中提取,并插入/更新其他表。如果没有其他唯一键,则在中间表中包含自动增量id列是关联行的方便方法。

例如,如果我们运行以下insert语句:

mysql_query("INSERT INTO mytable (name,age) VALUES ('Steve',25)") or die(mysql_error());
通过使用此函数,我们始终可以获取最后插入的id

mysql_insert_id();
这样我们就可以通过这种方式将id移动到另一个表中

$last_id = mysql_insert_id();
mysql_query("INSERT INTO mytable2 (uid) VALUES('".$last_id."')") or die(mysql_error());

是的,你说得对。我应该先解析CSV,然后在循环中插入一个mysql,以获得最后一个插入的ID。谢谢。我应该这样做。