正如标题所说。我有下表:
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.
2条答案
按热度按时间kqhtkvqz1#
第一个答案很简单
主键约束保证值是唯一的,否则会出现错误
更复杂的是,您可以尝试获取max(id),然后在源代码或插入前触发器中增加它,但是在重载服务器中,您仍然可以得到错误,这就是为什么我们使用自动增量或uuids
htrmnn0y2#
如果您发送了一个主键约束,它只允许唯一值。您可以启用“自动递增/isidentity列为真”。
另一种方法是将id的类型更改为uniqueidentifier并手动插入guid。那永远是独一无二的。但不推荐