SQL Server,无法在主键字段中插入null?
我准备好把这个头发撕开了.我对MS SQL很新,并且在任何地方都没有看到类似的帖子.
当我尝试这样做的声明: INSERT INTO qcRawMatTestCharacteristic VALUES(NULL,1,'',GETDATE(),1) 我得到以下内容:
我明白错误,但是null值是针对我的主字段和int数据类型的. 有任何想法吗!? 解决方法任何关系数据库中的主键都不允许为空 – 它是主键的主要基本特征之一.见:SQL by Design: how to Choose the primary key
更新:好的,所以你想要一个“自动递增”主键在SQL Server中. 您需要在CREATE TABLE语句中将其定义为INT IDENTITY: CREATE TABLE dbo.YourTable(ID INT IDENTITY,col1 INT,...,colN INT) 然后当您执行INSERT时,您需要显式指定要插入的列,但是不要在该列表中指定“ID”列,则SQL Server将自动处理查找适当值: INSERT INTO dbo.YourTable(col1,col2,colN) -- anything **except** `ID` VALUES(va1l,val2,valN) 如果要在创建表之后执行此操作,可以在SQL Server Management Studio的表设计器中执行此操作: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 这是MERGE中的错误,是否正确执行FOREIGN KEY
- SQLServer-----SQLServer 2008 R2安装
- Sqlserver实现故障转移 — sqlserver镜像备份实现故障转移(
- sql – 表中缺少FROM子句条目[closed]
- sql-server – TSQL 2008使用LTrim(RTrim并且数据中仍有空格
- SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)使用
- sql – LINQ OrderBy.它总是返回相同的有序列表吗?
- MSSQL SERVER中的BETWEEN AND的使用
- 数据库:建模电子表格的最佳方式
- 了解SQL中的JOIN