如果MySQL INSERT查询中不存在,则自动生成主键



我在MySql 中创建了一个表

CREATE TABLE newuser(id VARCHAR(10) PRIMARY KEY,sname VARCHAR(20));

当我插入记录时,它工作正常

INSERT INTO newuser VALUE('abc123','monika');

但有时我不想在INSERT查询中提供id,有时我想提供。如果我不提供id,MySql会自动生成一个。

我可以做些什么来获得以下两个查询工作?

INSERT INTO newuser VALUE('abc123','monika');
INSERT INTO newuser VALUE('nikita');

"我什么都不懂"-当时很新鲜。

第一个第二个插入语句无效,请查看https://dev.mysql.com/doc/refman/8.0/en/insert.html-'如果没有为INSERT指定列名列表。。。VALUES或INSERT。。。SELECT,表中每列的值必须由values列表、SELECT语句或table语句提供。'

其次,uuid是一个函数,其中"uuid被设计为在空间和时间上全局唯一的数字。"https://dev.mysql.com/doc/refman/8.0/en/insert.html

您可以很容易地选择uuid((来查看它产生了什么。您需要增加id大小如果你想在插入中使用它

insert into users values (uuid(),<sname>);

最新更新