自動増分主キー列を持つ表に行を挿入する場合、その行に割り当てられる値を取得する方法はありますか?自動増分pkで挿入される値を取得できますか?
この値は、同じ行の別の列の文字列の一部として使用したいと思います。
MAX(id)+1を実行しても、十分に堅牢ではないようです。 挿入を実行してLAST_INSERT_ID()で更新するのは悪いです。これは2つの別々のdb呼び出しだからです。
おかげ
EDIT:
誰もがこれをどう思うん:
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
と行で終わるべきであり、 "name-5"のname
。これはちょっと面倒な方法ですが、うまくいくはずです。
思考?
私はあなたがそれを行うことはできないと思います。( – haltabush