我想将数据插入到我的表中,但希望每个条目都有一个尚未获取的ID。
例如:
INSERT INTO Table_lol (id, name, email, phone, address)
VALUES (1, bob, boblol@example.com, 1111111, 123 lollane);
我可以添加类似WHERE NOT EXISTS
的内容,但这只会阻止id被覆盖。我不希望用户必须创建一个id,我希望它生成下一个号码,这样用户就不会搞砸任何东西。
这可能吗?谢谢!
答案 0 :(得分:2)
创建表时使用auto_increment 例如:
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id) );
然后不要为id写下你想要的值 例如:
INSERT INTO Table_lol (name, email, phone, address)
VALUES (bob, boblol@example.com, 1111111, 123 lollane);
答案 1 :(得分:0)
如果这是一个新表,那么我将创建一个带有标识列的id
字段,该列将自动管理字段中的id。
如果这是现有表格,请尝试使用:
INSERT INTO Table_lol(id, name, email, phone, address)
SELECT MAX(id) + 1, 'bob', 'boblol@example.com', 1111111, 123 lollane
FROM Table_lol;
答案 2 :(得分:0)
如果您已经制作了表格,并且无法使用其他答案/评论中提到的自动增量,则可以选择id列的最大值并为其添加1。
$max = SELECT MAX( id ) FROM Table_lol;
INSERT INTO Table_lol( customer_id, firstname, surname )
VALUES ($max+1 ,bob, boblol@example.com, 1111111, 123 lollane)