首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于一条SQL语句的有关问题

2013-01-12 
求助关于一条SQL语句的问题有如下语句create table book(book_NO char(30)primary key,/* 图书编号*/book_

求助关于一条SQL语句的问题
有如下语句


create table book(
  book_NO char(30)  primary key,/* 图书编号*/
  book_name char(30) not null,
  book_zname char(20),  
  book_publish char(26),
  enter_num integer, 
  book_jg  money,
  enter_date datetime,
  Book_leave integer,
  kind integer,
foreign key (kind) references kinds(kind)); 
insert into book
values('7-900084-17-7 9787900084170','photoshop6.0','杨龙','中科多脉管体电子',5,27,'2003-10-1 13:45:09',5,10);

但执行时会报错,“插入错误: 列名或所提供值的数目与表定义不匹配。”这是为什么呢,感觉语句灭有问题啊,请高手指点
[解决办法]
,foreign key (kind) references kinds(kind)
这句话 去掉 就可以了 
是不是 这个表kinds 没有创建 
或者 这个表kinds有了 但是 10  这条数据 在 表kinds里没有

[解决办法]
语法的确没问题,那就要你自己打开设计器,
亲眼验证一下book这个表是否只有这几列,
另外检查一下该表是否有触发器,也可能是触发器中列数目不匹配
[解决办法]
引用:
,foreign key (kind) references kinds(kind)
这句话 去掉 就可以了 
是不是 这个表kinds 没有创建 
或者 这个表kinds有了 但是 10  这条数据 在 表kinds里没有


你说的情况只会引起主外键约束错误,不会显示他贴的错误
而且没哟kinds表主外键关系创建时就会报错,即便可以创建,也不会再验证该约束
[解决办法]
查一下book表上是否有触发器.
[解决办法]
我觉得是触发器和级联的可能性比较大

热点排行
Bad Request.