MYSQL: вставка с помощью Select не работает должным образом - PullRequest
0 голосов
/ 01 ноября 2019

Я не могу решить эту проблему. В настоящее время я работаю, чтобы установить для person_id значение -1, но также использую оператор выбора с этим значением person_id.

Используя этот оператор, я не могу найти в Интернете или где-либо еще причину, по которой это не работает:

Insert into Person(person_id,firstName,middleName,lastName) 
Values(-1,(Select Distinct B.firstName, B.middleName, B.lastName 
           from Ballot B 
           where B.voter_Id = 0));

Результат: ОШИБКА 1136 (21S01): количество столбцов не соответствует количественному значению в строке 1

Логически это должно работать. Но я не могу понять, почему. В конце концов, количество столбцов определенно совпадает ..

Есть предложения?

1 Ответ

3 голосов
/ 01 ноября 2019

Вы, похоже, ищете синтаксис insert ... select:

Insert into Person(person_id, firstName, middleName, lastName) 
Select Distinct -1, firstName, middleName, lastName 
from Ballot B 
where voter_Id = 0

Демонстрация на DB Fiddle (любезно предоставлено В.Бокшичем).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...