如何选择NO ID增量的最后一行

sop*_*hie 0 php mysql

如何选择MySQL表中的最后一行?

我正在插入数据,我需要从上一行检索列值.

(我顺便使用PHP.)table1是这样的

table1
******************
cate_id | task_id | start_date  |     end_date | line |

 1         2        30/04/2012      26/06/2012    text
 3         1        26/06/2012      27/06/2012    text
 2         1        27/06/2012      01/01/9999    text
Run Code Online (Sandbox Code Playgroud)

那张NO an auto_increment桌子就在那里.

我的情况是更新表中现有的最后一行,然后插入一个新行.

cic*_*chy 5

你编辑了问题,这里是更新

SELECT MAX(cate_id) AS last_cate_id FROM table;
Run Code Online (Sandbox Code Playgroud)

或者你可以获得下一个ID:

SELECT MAX(cate_id)+1 AS next_cate_id FROM table;
Run Code Online (Sandbox Code Playgroud)

没有事务,这很容易插入相同的cate_id!

如果您无法使用它们,例如因为MyISAM,您可以使用select插入.

INSERT INTO table
(cate_id, task_id ..)
VALUES
( (SELECT MAX(cate_id)+1 AS next_cate_id FROM table), 1 )
Run Code Online (Sandbox Code Playgroud)