MySQL:使用插入语句本身插入的行的id

Nat*_*n H 7 php mysql sql insert-id

我正在尝试这样的事情:

INSERT INTO dir_pictures SET filename=CONCAT(picture_id,'-test');
Run Code Online (Sandbox Code Playgroud)

picture_id是我的主键,自动增量.基本上我正在尝试将此insert语句的id放在语句本身中.

我确信可以使用一些额外的PHP代码或使用多个语句来完成,但我想知道是否有一种快速简便的方法可以一次性完成.

PS.上面的陈述总是把'0测试'

Chr*_*heD 10

首先插入记录.然后用分号分隔你的语句,并使用LAST_INSERT_ID()来获取新插入的自动增量id.一气呵成.

insert into dir_pictures .... ; 
update dir_pictures set filename=CONCAT(LAST_INSERT_ID(),'-test') where id = LAST_INSERT_ID()

  • 怎么可能呢?last_insert_id()应该是特定于连接的.引用手册:'同时从多个客户端使用LAST_INSERT_ID()和AUTO_INCREMENT列是完全有效的.每个客户端将收到客户端执行的最后一个语句的最后插入的ID. (7认同)