当将行插入带有自动增量主键列的表中时,是否有办法获取要分配给该行的值?可以通过自动增量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