实际上我不知道如何将最后插入的记录放在两个表格中。
我想最后一次在表中插入所有记录。
我使用了LAST_INSERT_ID()函数,但它只提供了一条最后一条记录,我希望在表格中有多条记录。
答案 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
理想情况下,您会将其包装在取决于您的编码和用例的方法或函数中。