Как исправить ошибку в моём INSERT запросе?
Если я добавлю значение для поля id - всё работает. Но id ведь автоинкрементное поле, значение должно самоподставлятся. Как исправить ошибку в таком случае?
База данных: MySQL
Запрос делаю через MySQL Workbench
Поля таблицы:
id int(11) AI PK
idPoi int(11)
idElement int(11)
idEnvironment int(11)
ValueAvg double(18,5)
ValueMax double(18,5)
idPoligon int(11)
Year int(11)
Month int(11)
day int(11)
Measure varchar(45)
Текст запроса:
INSERT INTO h34471c_KPI_KEEM.emissions_on_map
VALUES (1061,21126,1,4.3,4.3,null,2021,5,23,'mg/m3')
Текст ошибки:
Column count doesn't match value count at row 1
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Если в запросе INSERT не указываются явно имена столбцов, куда происходит вставка, а только список значений (VALUES), то Mysql по-умолчанию ожидает на вход столько количество значений для VALUES, сколько всего имеется во всей таблице. То есть для столбца id int(11) AI PK он тоже будет ожидать данные. Автоинкремент или нет - не важно.
Выход:
- либо указать значение ещё и для столбца
id - либо указать явно, для каких столбцов идёт вставка значений (т.е. перечислять 10 имён столбцов вручную). Да, муторно, но C'est La Vie...