是否可以添加新条目,复制其ID(自动递增)并将其添加到条目列中。我正在寻找的例子:
INSERT INTO `my_stuff` (title`, `description`, `this_entry_ID`) VALUES ('$my_stuff', '$description', LAST_INSERT_ID())");
现在,我使用两个请求来执行此操作:
LAST_INSERT_ID()
)LAST_INSERT_ID()
数据更新条目。 这可以一次完成吗?
注意:LAST_INSERT_ID()
仅供参考,用于描述我需要的内容。
答案 0 :(得分:1)
您无法执行在插入中使用目标表的子查询。
insert into TheTable (Name, LastID) values ("New 1", (select Id from TheTable order by Id DESC limit 1) );
但是你不应该做你建议的错误。
insert into TheTable (Name, LastID) values ("New 1", LAST_INSERT_ID() );
答案 1 :(得分:1)
您可以撰写TRIGGER
,立即AFTER INSERT
更新其this_entry_ID
列。
答案 2 :(得分:1)
LAST_INSERT_ID()
在连接期间有效,因此如果您对两个查询使用相同的连接,它将起作用。
如果您的连接库每个请求支持多个命令,您只需用分号分隔两个查询并进行一次数据库调用。
答案 3 :(得分:1)
好的...谢谢大家,看来我已经成功解决了这个问题。再一次 - 任务很奇怪所以解决方案也很奇怪。也许你可以提供更好的东西在这里:
SELECT AUTO_INCREMENT INTO @stuff FROM information_schema.TABLES
WHERE TABLE_NAME = 'gallery_albums';
INSERT INTO `gallery_albums` (`album_title`, `album_description`, `parent_id`, `created_at`, `views`, `added_by`, `chain`) VALUES ('xxx', 'cccc', '0', 'vvvv', '0', 'bbb', @stuff)