Вставить в запрос не работает в MySQL
Мне нужно выполнить этот вид запроса.
INSERT INTO `book_newBookOrder` (id, volume, 5, chapterNr, sectionNr, `text`)
SELECT id, volume, bookNr, chapterNr, sectionNr, `text`
FROM book_oldBookOrder
WHERE booknr = 1;
Фиксированное значение 5 в части INSERT INTO нарушает его. Я должен быть в состоянии указать два значения, как указано выше.
Поэтому я хочу выбрать все с bookNr = 1 в таблице oldbooknr и сохранить это как booknr 5 в таблице newbookorder.
Пожалуйста, посоветуй мне. Благодарю.
1 ответ
Решение
У вас есть синтаксическая ошибка: элементы в первом наборе скобок в INSERT должны быть именами полей. "5" - это не имя поля, это значение, которое вы хотите вставить (я предполагаю, что вы хотите установить это значение одинаково в каждой строке, которая вставляется?). Это должно быть в SELECT:
INSERT INTO `book_newBookOrder` (id, volume, bookNr, chapterNr, sectionNr, `text`)
SELECT id, volume, 5, chapterNr, sectionNr, `text`
FROM book_oldBookOrder
WHERE booknr = 1;