sql:如何为主键生成唯一值

slhcrj9b  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(580)

正如标题所说。我有下表:

CREATE TABLE exampleTable(
    ID int NOT NULL,
    Text varchar(255),
    PRIMARY KEY (ID)
);

通过插入值:

INSERT INTO exampleTable (ID, Text)
VALUES (123, 'Hello World');

有时可以为已经在表中的主键添加一个值,从而为您提供 Error .
问题:
通过哪种方法可以确保choosen主键的值总是唯一的?
如何生成一个主键值,这永远是唯一的。
为2。问题,可能的方法:

//Check if the new Value is already in the Table by
//Iterating and comparing through all the Primary Key Values.
kqhtkvqz

kqhtkvqz1#

第一个答案很简单
主键约束保证值是唯一的,否则会出现错误
更复杂的是,您可以尝试获取max(id),然后在源代码或插入前触发器中增加它,但是在重载服务器中,您仍然可以得到错误,这就是为什么我们使用自动增量或uuids

htrmnn0y

htrmnn0y2#

如果您发送了一个主键约束,它只允许唯一值。您可以启用“自动递增/isidentity列为真”。
另一种方法是将id的类型更改为uniqueidentifier并手动插入guid。那永远是独一无二的。但不推荐

相关问题