现在在phpMyAdmin中工作:
order 表结构:
order
OrderID int(11) auto_increment CustomerID varchar(50) BillAddr varchar(200) ShipAddr varchar(200) Date date Total double
该表当前有4行数据,具有不同的OrderID。
SQL:
SELECT LAST_INSERT_ID() FROM `order`
结果:
LAST_INSERT_ID() 0 0 0 0
我期待第四行OrderID-只是一个数字,但是phpMyAdmin中的每一行都有一个0。
OrderID
LAST_INSERT_ID()返回最后插入的行的ID,并且未绑定到任何表。因此,如果您创建一个新行:
LAST_INSERT_ID()
INSERT INTO table VALUES('a', 'b', 'c');
它将返回最后一个id(新主键具有的任何值)。
SELECT LAST_INSERT_ID(); => 123
有关详细信息,请查看 手册 :
LAST_INSERT_ID()(不带参数)返回BIGINT(64位)值,该值表示由最近执行的INSERT语句为AUTO_INCREMENT列设置的第一个自动生成的值,以影响该列。例如,在插入生成一个AUTO_INCREMENT值的行之后,您可以像这样获得该值:
如果您只想获取表中的最后一个ID,可以执行以下操作:
SELECT id FROM table ORDER BY id DESC LIMIT 1;