INSERT INTO grade7 (studentid,section) VALUES (SELECT MAX(studentid) FROM student_profile limit 1), '----';
我的代码有什么问题,单独尝试它可以正常工作
答案 0 :(得分:1)
我不熟悉在插入过程中使用子查询作为VALUES
的谓词。更典型的是使用INSERT INTO grade7 ... SELECT
:
INSERT INTO grade7 (studentid, section)
SELECT MAX(studentid), '----'
FROM student_profile
如果你直接在MySQL上做这项工作,那么你也可以使用MySQL的LAST_INSERT_ID()函数,该函数从最近的插入返回自动增量值。如果您刚刚在student_profile
上完成了插入操作,那么您可以将其简单地用于插入grade7
:
INSERT INTO grade7 (LAST_INSERT_ID(), '----')
答案 1 :(得分:0)
您的子查询需要一对括号,但您的VALUES
还需要括号。
试试这个:
INSERT INTO grade7 (studentid,section)
VALUES ((SELECT MAX(studentid) FROM student_profile limit 1), '----');