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

Archer_Smith 2013-01-02 03:16:12
有如下语句

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

但执行时会报错,“插入错误: 列名或所提供值的数目与表定义不匹配。”这是为什么呢,感觉语句灭有问题啊,请高手指点
...全文
406 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
stanleywise 2013-01-02
  • 打赏
  • 举报
回复
引用 5 楼 DBA_Huangzj 的回复:
我觉得是触发器和级联的可能性比较大
俺也觉得这个可能性很大
Walton_Yan 2013-01-02
  • 打赏
  • 举报
回复
先看Table 有没有建成功,有没有报错。若没有在看Insert 语句,一步一步来,这样更好看
發糞塗牆 2013-01-02
  • 打赏
  • 举报
回复
我觉得是触发器和级联的可能性比较大
唐诗三百首 2013-01-02
  • 打赏
  • 举报
回复
查一下book表上是否有触发器.
szm341 2013-01-02
  • 打赏
  • 举报
回复
引用 1 楼 BIBIHAHA 的回复:
,foreign key (kind) references kinds(kind) 这句话 去掉 就可以了 是不是 这个表kinds 没有创建 或者 这个表kinds有了 但是 10 这条数据 在 表kinds里没有
你说的情况只会引起主外键约束错误,不会显示他贴的错误 而且没哟kinds表主外键关系创建时就会报错,即便可以创建,也不会再验证该约束
szm341 2013-01-02
  • 打赏
  • 举报
回复
语法的确没问题,那就要你自己打开设计器, 亲眼验证一下book这个表是否只有这几列, 另外检查一下该表是否有触发器,也可能是触发器中列数目不匹配
舞台中央的我 2013-01-02
  • 打赏
  • 举报
回复
,foreign key (kind) references kinds(kind) 这句话 去掉 就可以了 是不是 这个表kinds 没有创建 或者 这个表kinds有了 但是 10 这条数据 在 表kinds里没有
Archer_Smith 2013-01-02
  • 打赏
  • 举报
回复
各位,问题解决了,是这样的,我用的是sql2000,数据库里面原本有一个book表,里面多了一个字段。但是我在上述语句中前面加了“drop table book;”,还是出现了这个错误,所以就来问了下。可能是2000报错机制不太完善,只报了那个错误,谢谢大家!

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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