當將行插入帶有自動增量主鍵列的表中時,是否有辦法獲取要分配給該行的值?可以通過自動增量pk獲取插入的值嗎?
爲了清楚起見,我想將此值用作同一行上不同列的字符串的一部分。
做MAX(id)+ 1似乎不夠健壯。 然後執行插入操作,然後使用LAST_INSERT_ID()進行更新是不好的,因爲這是2個獨立的數據庫調用。
感謝
編輯:
是什麼大家都覺得這樣的:
INSERT INTO `mydatabase`.`mytable` (`name`, `description`)
VALUES
(
CONCAT(
'name-',
CAST(
(SELECT
`auto_increment` + 1
FROM
`information_schema`.`TABLES`
WHERE `TABLE_SCHEMA` = 'mydatabase'
AND `TABLE_NAME` = 'mytable') AS CHAR
)
),
'description of this thing'
) ;
這樣,你應該用行結束了5 id
例如,和「名稱-5」的name
。這是一種混亂的方式去做,但它應該工作,不是嗎?
想法?
我不認爲你可以那樣做,對不起:( – haltabush 2012-03-24 01:58:42