SQL插入错误: 列名或所提供值的数目与表定义不匹配。

bookid书号int4主键bookname书名char40publish出版社char40pubdate出版日期date... bookid 书号 int 4  主键
bookname 书名 char 40 
publish 出版社 char 40 
pubdate 出版日期 datetime 8  默认值:系统日期
price 单价 decimal 精度7,小数位数2位  约束:单价>0;默认值:0
author 编著 varchar 60 
remarks 备注 text 16 
创建这个表后,然后做这一步
INSERT INTO book VALUES(' tp00000120','软件自动化测试:引入、管理与实施','电子工业出版社');
为什么会出现
服务器: 消息 213,级别 16,状态 4,行 1
插入错误: 列名或所提供值的数目与表定义不匹配。
高手帮忙解答
展开
 我来答
涵絮飘飘
推荐于2019-08-30 · TA获得超过2959个赞
知道答主
回答量:16
采纳率:0%
帮助的人:4500
展开全部

在做插入数据操作时,提示错误信息:插入错误: 列名或所提供值的数目与表定义不匹配。

数据库表中有三个个字段:id,name,pwd,执行的SQL语句如下:

string sql = "insert into [User]  values('"+name+"','"+pwd+" ')"; //name,pwd 为变量

SQL语句没有错误,经过查找,发现是ID设置错误,一般ID是自增的,设置标识符。所以,只要设置ID就可以了。

扩展资料:

结构化查询语言包含6个部分:

一:数据查询语言(DQL:Data Query Language):

其语句,也称为“数据检索语句”,用以从袭拍表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。拍肆羡

二:数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动雹芦作查询语言。

三:事务处理语言(TPL):它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:数据控制语言(DCL):它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

参考资料:百度百科-sql

hy1397471
2017-07-20 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

SQL语句错误:列名或所提供值的数目与表定信滚义不匹配。是使用insert into 新增数据是,指定要新增的字段数量,和新滑简余增值的数量不同。

一、INSERT INTO 语句用于向表格中插入新的行。

1、语法:INSERT INTO 表名称 VALUES (值1, 值2,....)

也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

二、例如表格aaa的表格结构如下

1、语句:insert into aaa values(1),因为语句没有指定要新增的字段,即13个字段都要新增数据,而values只提供了一个值咐睁,所以系统报错

那么我们可以,把values的值补全,即可正确执行这条SQL语句

insert into aaa values(1,null,null,null,null,null,null,null,null,null,null,null,null)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hgzxf
推荐于2017-10-05 · TA获得超过719个赞
知道答主
回答量:119
采纳率:0%
帮助的人:179万
展开全部
插入操作的格式姿氏是:
INSERT INTO TABLE_NAME <COLUMN_NAMES> <(VALUES <(COLUMN_VALUES)>)> (<SELECT SEGMENT>)
你的语句中'tp00000120'段李这个值对应的是那个列,可能你要修改一下表结构。
给你个例子:
create table book
(bookid char(10),
bookname char2(40),
publish char2(40)
);
-- 插入语句1:
INSERT INTO book VALUES('tp00000120','软件自动化测试:引握册迟入、管理与实施','电子工业出版社');
-- 插入语句2:
INSERT INTO book (bookid,bookname,publish)
VALUES(' tp00000120','软件自动化测试:引入、管理与实施','电子工业出版社');
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shutao917
2008-12-21 · TA获得超过1213个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:3124万
展开全部
这个表有7个字段,而你插入的配伏只有三个字段的值,所以你在插入一部分字段时必须指定字段的名磨卖滑称。
INSERT INTO book(bookid,bookname,publish) VALUES(' tp00000120','软件瞎腊自动化测试:引入、管理与实施','电子工业出版社');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朩朩熋
2008-12-22 · TA获得超过1567个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:0
展开全部
错误信息已经说明的很清楚了。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式