Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL中创建主键的语句是什么;3585c5d240dd4132bab35ab969137f3f“;_Sql_Sql Server_Primary Key - Fatal编程技术网

在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中,可以使用该函数生成此类标识

我正在与SQLServerManagementStudio合作。我想用SQL语句创建一个主键,如“3585c5d240dd4132bab35ab969137f3f”,但我不知道创建主键的语句。 有人能告诉我创建这样一个主键的语句是什么吗?

试试下面的代码:

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()类型的主键
  • 由于函数不允许作为默认值,请在插入前使用触发器,该触发器使用上述函数生成主键

首先,您需要添加一列来存储该GUID

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())