列名或提供的值数与表定义不匹配。为什么?

时间:2014-07-30 13:48:29

标签: sql-server

我缺少什么?

create table Diver(
diver_number int  primary key check(diver_number>0) not null,
first_name char(30) not null,
last_name char(30) not null,
fullname AS first_name+' '+last_name,
bithdate date not null,
email nchar(100) not null,
diver_password  char(8) not null check(Len(diver_password) = 8 
   AND diver_password not like('%[^a-z0-9]%')),
diver_signature nchar(200) not null,
signature_date date not null,
old_diving_diaries nchar(200))


insert into Diver VALUES('1111','Dana','shwartz','1966/04/11','danas@gmail.com','dana1234','http://www.google.co.il','')

我收到此错误:     列名或提供的值数与表定义不匹配。      为什么呢?

3 个答案:

答案 0 :(得分:1)

是的,这个错误几乎可以说明问题。您尝试将8个值插入包含10列的表中。

考虑列出要明确插入的列名

insert into Diver (column names here)
VALUES('1111','Dana','shwartz','1966/04/11','danas@gmail.com','dana1234','http://www.google.co.il','')

答案 1 :(得分:1)

你想念旧的潜水日记。 您需要将值更改为

VALUES('1111','Dana','shwartz','1966/04/11','danas@gmail.com','dana1234','http://www.google.co.il','',
'') <-- this

由于计算列,您只需要9个数据。

答案 2 :(得分:-2)

值和data_types的数量必须相同。

$(function() {
    $('td').on('click', function() {
        $(this).closest('table').find('td').not(this).toggle();
    });
});

需要通过10个值。现在它必须运行。