我有这样的查询,它使用子查询插入行:
INSERT INTO Lecture_presence_Student (`presence_id`, `Lecture_id`, `Student_id`, `status`) VALUES
(
(
SELECT '' as presence_id, Lecture.Lecture_id, CourseEdition_students_Student.Student_id, 'onverwerkt'
FROM
CourseEdition_students_Student
INNER JOIN Lecture ON CourseEdition_students_Student.CourseEdition_id = Lecture.CourseEdition_id
)
)
Run Code Online (Sandbox Code Playgroud)
我不明白,子选择查询返回4列,与INSERT查询的编号相同。为什么会出现错误:
Column count doesn't match value count at row 1
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
代替INSERT INTO VALUES使用INSERT INTO SELECT FROM
INSERT INTO Lecture_presence_Student
(
`presence_id`
, `Lecture_id`
, `Student_id`
, `status`
)
SELECT '' as presence_id
, Lecture.Lecture_id
, CourseEdition_students_Student.Student_id
, 'onverwerkt'
FROM CourseEdition_students_Student
INNER JOIN Lecture
ON CourseEdition_students_Student.CourseEdition_id = Lecture.CourseEdition_id
Run Code Online (Sandbox Code Playgroud)
那么如果您在查询中获得多个记录,则该记录INSERT将起作用。
| 归档时间: |
|
| 查看次数: |
4214 次 |
| 最近记录: |