插入在mysql中打破的查询

时间:2018-05-04 14:59:27

标签: mysql sql insert-into insert-select

我需要运行这种查询。

INSERT INTO `book_newBookOrder` (id, volume, 5, chapterNr, sectionNr, `text`) 
SELECT id, volume, bookNr, chapterNr, sectionNr, `text`
FROM book_oldBookOrder 
WHERE booknr = 1;

INSERT INTO部分中的固定值5将其打破。 我必须能够如上所述指定两个值。

所以我想在oldbooknr表中选择bookNr = 1的所有内容,并将其作为booknr 5存储在newbookorder表中。

请告诉我。谢谢。

1 个答案:

答案 0 :(得分: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;