高手未必能搞定

billlyh 2005-04-21 10:57:25
奇怪的存储过程
CREATE Procedure prInsertEquipment_1

@chvCname varchar(50),
@chvQyjj varchar(250),
@chvZwxq varchar(250)

As
Insert company (cname, qyjj, zwxq)
Values (@chvCname, @chvQyjj, @chvZwxq)

execute prInsertEquipment_1 'test000','test','test'

drop Procedure prInsertEquipment_1

服务器: 消息 515,级别 16,状态 2,过程 prInsertEquipment_1,行 8
无法将 NULL 值插入列 'ID',表 'job.dbo.company';该列不允许空值。INSERT 失败。
语句已终止。
...全文
173 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
天地客人 2005-04-22
  • 打赏
  • 举报
回复
有空多看看,联机帮助!
pbsh 2005-04-21
  • 打赏
  • 举报
回复
楼上正解!
midhand 2005-04-21
  • 打赏
  • 举报
回复
[ID] [int] IDENTITY (1, 1) NOT NULL,
这样写就行了
midhand 2005-04-21
  • 打赏
  • 举报
回复
从你的insert语句来看,你的ID字段应该是自增量的
但从出错信息来看,您肯定忘了设置ID的自增量了
billlyh 2005-04-21
  • 打赏
  • 举报
回复
niuniu777收

我将表ID字段设为主键,insert表时只插入其它字段的值,ID值让数据库自动加1,但上面写法却实现不了????
billlyh 2005-04-21
  • 打赏
  • 举报
回复
niuniu777(大井(▼▼▼▼▼)) 表结构如下

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[company]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[company]
GO

CREATE TABLE [dbo].[company] (
[ID] [int] NOT NULL ,
[cname] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[qyjj] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zwxq] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw1] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw2] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw3] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw4] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw5] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw6] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw7] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw8] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw9] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[zw10] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
[lxr] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[dh] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[mail] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[qylb] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[dz] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[fbrq] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[yxrq] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[inputtime] [datetime] NULL ,
[expiretime] [datetime] NULL ,
[dy] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[bz] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[picture] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

niuniu777 2005-04-21
  • 打赏
  • 举报
回复
company 表结构贴出来.
可能是ID不允许为空!
赵大米 2005-04-21
  • 打赏
  • 举报
回复
你执行一下:select * from company where ID is null
看一下是不是有垃圾数据
qiliu 2005-04-21
  • 打赏
  • 举报
回复
呵呵
James9997 2005-04-21
  • 打赏
  • 举报
回复
居然是这样的题目,建议你还是找基础sql书来看看先
hlq8210 2005-04-21
  • 打赏
  • 举报
回复
[ID] [int] IDENTITY (1, 1) NOT NULL,这样写就行了
niuniu777 2005-04-21
  • 打赏
  • 举报
回复
1、你的ID字段如果是自增量,设置ID的自增量.
2、因为:[ID] [int] NOT NULL ,所以增加时必须有值才行。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧