通常我会通过插入一些数据来获取新ID,然后创建一个新行并返回新ID.但是,如果我不想插入任何数据,我只想创建一个带有新ID的新行并获取新ID ...我该怎么做?
谢谢.
更新:
好这是我的问题.我想要这样做的表只有1 ID列.为什么?我会解释(我们会尝试).我有另一个表,其中每一行都有自己唯一的ID variation_id(auto-inc),但每行需要绑定到同一个表中的一组其他行.我有另一个名为group_id的专栏,我不能将它自动包含在内,因为它需要多次出现,而是说它应该将哪些变体组合在一起.所以我想有一个第二个表,其中group_id作为主键和auto-inc,所以每当我需要一个新组时,我就可以使用它来生成新的group_id.我想我的方式错了......所以我该怎么办?
pcs*_*csi 12
这是一个例子:
CREATE TABLE X (id int PRIMARY KEY AUTO_INCREMENT);
Run Code Online (Sandbox Code Playgroud)
然后你可以用你的"喂"你的桌子:
INSERT INTO X (id) VALUES (NULL);
SELECT LAST_INSERT_ID();
Run Code Online (Sandbox Code Playgroud)
检查这个小提琴:http://sqlfiddle.com/#!2/ 6b19c/1
希望能帮助到你!
ТарасЛукавий做了另一个问题,这是答案:
CREATE TABLE X (id int PRIMARY KEY AUTO_INCREMENT, time timestamp);
Run Code Online (Sandbox Code Playgroud)
然后你用以下方式"提供"数据:
INSERT INTO X (id, time) VALUES (NULL, now());
SELECT LAST_INSERT_ID();
Run Code Online (Sandbox Code Playgroud)
现在,让我们检查一下:
SELECT * FROM X
Run Code Online (Sandbox Code Playgroud)
你会看到每一行都有自动id和时间戳.
检查这个小提琴:http://sqlfiddle.com/#!2/ 9a344/2
希望能帮助到你!