fleshherbal
@fleshherbal

Как правильно сформулировать запрос 'вставить с выборкой' к базе Sqlite?

Добрый день!
Задача скопировать данные элемента категории с одной в другую категорию.
Использую следующий запрос:

INSERT OR IGNORE INTO words (baseWord, serverVersion, translatedList, transcription, partOfSpeech, examples, image, synonims, categoryId) 
VALUES ((SELECT baseWord, serverVersion, translatedList, transcription, partOfSpeech, examples, image, synonims FROM words WHERE id=${wordId}), 0)


В данном случае необходимо переместить все данные изменяя только categoryId.
Но я получаю следующую ошибку. Видимо sqlite понимает операцию SELECT как значение для вставки.

'Error: 2 values for 9 columns (code 1 SQLITE_ERROR): , while compiling .... далее копия query запроса'.
Каким образом можно реализовать подобное одним запросом к базе?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
как обсудили

количество полей для вставки надо сделать равным количству полей возвращенных select

INSERT INTO words (
baseWord,
 serverVersion,
 translatedList,
 transcription,
 partOfSpeech,
 examples,
 image,
 synonims,
 categoryId
)

SELECT 
baseWord,
 serverVersion,
 translatedList,
 transcription,
 partOfSpeech,
 examples,
 image,
 synonims,
0
from ...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы