如何在mysql中最后插入所有记录

时间:2017-06-30 11:17:49

标签: php mysqli

实际上我不知道如何将最后插入的记录放在两个表格中。

我想最后一次在表中插入所有记录。

我使用了LAST_INSERT_ID()函数,但它只提供了一条最后一条记录,我希望在表格中有多条记录。

2 个答案:

答案 0 :(得分:0)

似乎你想使用LAST_INSERT_ID()来获取所有记录,它只能提供最后插入的记录,你不能通过添加任何额外的where子句或类似的东西获得倒数第二个插入的记录。您可以直接获取所有记录,也可以先获取最后一个插入ID,然后根据您的要求获取所有(其他)记录。

答案 1 :(得分:0)

我现在正在调查这个问题,我能想到的唯一方法是从最近的查询中检索受影响的行数,然后从表中选择那么多行,选择的顺序为ID(或最适合您的用例)以降序排列,因此:

插入查询:

INSERT INTO db.table (id,var1,var2) 
VALUES 
  (NULL,'value1','value2')
  (NULL,'value3','value4')
  (NULL,'value5','value6')

使用mysql_affected_rows()检索插入了多少行。

(在PHP中,这将是$ number = $ mysqli_object-> affected_rows-您的代码实现可能有所不同)

然后使用该值作为LIMIT值获取行:

SELECT * FROM db.table ORDER BY id DESC LIMIT $number

理想情况下,您会将其包装在取决于您的编码和用例的方法或函数中。