基本上我想用和身份类似的方式使用uniqueidentifier.我不想在其中插入值,它应该自动插入值,每行的值不同.

推荐答案

或者更好:使用newsequentialid()作为UNIQUEIDENITIFER列的默认值.这将为您提供一系列有序的guid.

CREATE TABLE dbo.YourTable   
   (SerialID UNIQUEIDENTIFIER 
        CONSTRAINT DF_SerialID DEFAULT newsequentialid(),
     .... (other columns)......
   )

问题是:newsequentialid的默认列是only,您不能将其作为函数或任何东西调用.但这似乎符合你的要求.

UPDATE: SQL Server Management Studio中似乎存在一个公认的错误,该错误阻止在交互式表设计器中将newsequentialid()指定为列的默认值.

请参阅:http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/cad8a4d7-714f-44a2-adb0-569655ac66e6

解决方法:在不指定任何默认值的情况下创建表,然后在普通查询窗口中键入以下T-SQL语句并运行:

ALTER TABLE dbo.YourTable
    ADD CONSTRAINT DF_SerialID DEFAULT newsequentialid() FOR SerialID

这应该能奏效!

Database相关问答推荐

如何在 ubuntu 中使用脚本添加带有连字符的数据库名称

数据库中的每个表都应该有一个 SQLiteOpenHelper 吗?

使用 PostgresQL 判断现有列的约束

递归关系的数据库设计

Sql更新查询

从 DbDataReader 读取数据的最快方法是什么?

用于 sql server 的免费国家、城市数据库

如何在 MSSQL 2005 中创建递归查询?

数据库模式中的多对多关系表是否有正式名称?

prices价格字段是浮动还是小数好点?

免费的便携式数据库有哪些?

行之间的 SQL 差异

主键、唯一键和外键约束以及索引之间有什么区别?

如何删除 SQLite 中具有多个 where 参数的行?

为什么在 Hibernate 中不推荐hibernate.connection.autocommit = true?

存储并仍然索引加密客户数据的最佳方式是什么?

哪个更重要?数据库设计或编码?

如何解析来自 Google 快讯的数据?

如何使用反射调用扫描可变参数函数

sqlite 表中的最大行数