2017-02-17 8 views
-2

Я хочу вставить следующую информацию в таблицу, но она дает мне следующую ошибку из следующих код:Ошибка, Msg 109, уровень 15, состояние 1, строка 1 В инструкции INSERT больше столбцов, чем значения, указанные в предложении VALUES

Msg 109, Level 15, State 1, Line 1 Есть несколько столбцов в операторе INSERT, чем значения, указанные в пункте цЕННОСТЕЙ. Количество значений в предложении VALUES должно соответствовать количеству столбцов, указанных в инструкции INSERT.

create table registration 
(
id int identity primary key, 
first_name varchar(100), 
last_name varchar(100), 
username varchar(100), 
[password] varchar(100), 
email varchar(100), 
[address] varchar(100), 
gender varchar(10), 
dob date, 
reg_date date, 
country varchar(50), 
city varchar(50), 
[status] bit 
) 
select * from registration 

insert into registration (first_name,last_name,username,password,email,[address],gender,dob,reg_date,country,city,status) 
values ('Ali','Khan','alik','123','[email protected]','Male','19930318','20170318','Pakistan','Karachi') 
+3

Сообщение об ошибке сообщает вам именно то, что вам нужно знать. Ваш оператор insert содержит 12 столбцов, а предложение VALUES содержит 10 значений. – Peter

ответ

1

ошибка довольно ясно, вам не хватает некоторых столбцов значений. Попробуйте это:

insert into registration (first_name,last_name,username,password,email,[address],gender,dob,reg_date,country,city,status) 
values ('Ali','Khan','alik','123','[email protected]','100 Sample Street Address', 'Male','19930318','20170318','Pakistan','Karachi', cast(1 as bit)) 
0

Посмотрите на свой запрос так:

Column  Value you want to insert 
----------- ------------------------ 
first_name 'Ali' 
last_name  'Khan' 
username  'alik' 
password  '123' 
email   '[email protected]' 
[address]  'Male' 
gender  '19930318' 
dob   '20170318' 
reg_date  'Pakistan' 
country  'Karachi' 
city 
status 

Вы пропускаете несколько значений. Ошибка ясно говорит об этом.