在SQL中创建主键的语句是什么;3585c5d240dd4132bab35ab969137f3f“;
我正在与SQLServerManagementStudio合作。我想用SQL语句创建一个主键,如“3585c5d240dd4132bab35ab969137f3f”,但我不知道创建主键的语句。 有人能告诉我创建这样一个主键的语句是什么吗?试试下面的代码:在SQL中创建主键的语句是什么;3585c5d240dd4132bab35ab969137f3f“;,sql,sql-server,primary-key,Sql,Sql Server,Primary Key,我正在与SQLServerManagementStudio合作。我想用SQL语句创建一个主键,如“3585c5d240dd4132bab35ab969137f3f”,但我不知道创建主键的语句。 有人能告诉我创建这样一个主键的语句是什么吗?试试下面的代码: ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id, LastName); 该值似乎是一个,简称UUID 在MS SQL Server中,可以使用该函数生成此类标识
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id, LastName);
该值似乎是一个,简称UUID
在MS SQL Server中,可以使用该函数生成此类标识符。例如:
SELECT NEWID()
一种方法是使用GUID。在SQL Server中,函数
NEWID
(参见文档)。如果不喜欢破折号,请同时使用替换:
SELECT REPLACE(NEWID(), "-", "");
但是要注意作为主键的guid:。它有点老了,但仍然很有趣
要使其成为主键,您可以:
- 在create语句中声明varchar()类型的主键
- 由于函数不允许作为默认值,请在插入前使用触发器,该触发器使用上述函数生成主键
alter table your_table
add field_name uniqueidentifier not null
然后需要在该字段上创建主键约束
alter table your_table
add constraint PK_[your_table] PRIMARY KEY(field_name)
最后,将数据插入表时,使用newid()生成字段_名称,如下所示:
我同意大家说的,你需要使用函数来生成你想要的。我的建议是,如果该列也将成为您的聚集索引,您可能应该使用,以避免随机GUID列可能导致的可怕的碎片和页面分割。您尝试过google吗?
insert into your_table(field_name)
values(newid())