gcogco10 Ответов: 2

В инструкции insert меньше столбцов?


Я хочу вставить данные в свою таблицу, но получаю эту ошибку ниже

"
There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
".

Наименование кол-во тип nvarchar(50)
Латитут числовой(18,0)
Longitute numeric(18,0)
Описание nvarchar(300)

Что я уже пробовал:

insert into dbo.Locations(Name, Latitute, Longitute, Description) 
values('Port Elizabeth', 33.9608, 25.6022, 'Port Elizabeth is a city on Algoa Bay in South Africa Eastern Cape Province.',
'Mtata', 31.6067, 28.7781, 'Mthatha, or Umtata, is the main town of the King Sabata Dalindyebo Local Municipality in Eastern Cape province of South Africa',
'East London', 33.0292, 27.8546, 'East London is a city on the Indian Ocean, in South Africa’s Eastern Cape.');

2 Ответов

Рейтинг:
9

OriginalGriff

Ошибка означает именно то, что говорится: когда вы пишете инструкцию INSERT, количество указанных столбцов (4 в вашем случае) должно точно соответствовать количеству предоставленных значений (12 в вашем случае). Если они этого не делают, то система не знает, что с ними делать.

Если вы хотите вставить несколько строк с одной и той же вставкой, то заключите каждый набор значений в квадратные скобки и разделите каждую группу запятыми:

INSERT INTO dbo.Locations 
(Name, Latitute, Longitute, Description) 
VALUES(
   ('Port Elizabeth', 33.9608, 25.6022, 'Port Elizabeth is a city on Algoa Bay in South Africa Eastern Cape Province.'),
   ('Mtata', 31.6067, 28.7781, 'Mthatha, or Umtata, is the main town of the King Sabata Dalindyebo Local Municipality in Eastern Cape province of South Africa'),
   ('East London', 33.0292, 27.8546, 'East London is a city on the Indian Ocean, in South Africa’s Eastern Cape.'));


Кстати: правильное написание-это "широта" и "долгота".


Рейтинг:
1

phil.o

Пожалуйста, следуйте синтаксису для вставки нескольких строк:
Вставка (Transact-SQL) - вставка нескольких строк данных - SQL Server | Microsoft Docs[^]