我得到了以下insert-command:
INSERT INTO PERSON ('Name','Age','Filename') VALUES ('Max',12,'Max_ID_.pdf');
我想插入而不是'Max_ID_.pdf'这个行的插入ID的字符串。 e.g:
ID|Name|Age|Filename
2 |Max |12 |Max_2_.pdf
答案 0 :(得分:1)
您可以先插入行,然后使用上次插入的ID更新它:
INSERT INTO PERSON ('Name','Age','Filename') VALUES ('Max',12,'xxx');
UPDATE PERSON Filename=CONCAT(LAST_INSERT_ID(),'.pdf') where id = LAST_INSERT_ID()
还有一种方法可以在一个声明中完成,可能稍微复杂一些,并且可能不适用于每个系统,例如如果您使用innodb或交易:
INSERT INTO PERSON SET Filename = CONCAT((SELECT auto_increment FROM
information_schema.tables WHERE table_name='PERSON'), '.pdf'),
Name = 'Max', Age = '12'