如何在添加值的同时从一个 table 获取信息?

How do I grab info from one table while still adding values?

我正在做一个项目,我试图从另一个 table 获取一个密钥,同时仍然从给定的值中获取。例如...

INSERT INTO Essay (student_ID, student_essay) VALUES (`Students.student_ID`, 'I WANNA BE THE VERY BEST');

我需要从 Students table 那里获取 student_ID(否则数字会消失,因为 student_ID 是自动递增的),但我需要能够插入论文的价值。

我不确定你想要什么,但你可能只需要来自 SELECT 的 INSERT。

INSERT INTO Essay (Student_id, Student_essay)
SELECT student_id, ? student_essay
FROM Student
WHERE name = ?;

您可以在文档中找到:Insert from select MySQL

问号表示您将从应用程序发送的值。

这应该可以解决您的问题:

INSERT INTO Essay (Student_id, Student_essay)
SELECT student_id, 'I WANNA BE THE VERY BEST' student_essay
FROM Student
WHERE email = 'asdajo@hota.com';

您需要使用Max(id)功能。

您可以使用 Max(id) 函数,它也会 return 最大 id 并且您正在使用自动递增,因此它会 return 最后一个 id 和您可以在第二个 [ 中插入的最后一个 id =21=],喜欢:

INSERT INTO Essay (student_ID, student_essay) 
       VALUES ((SELECT MAX(s_id) from Students), 'I WANNA BE THE VERY BEST');

这里是 S_id 意味着您需要提供要在学生 table 中使用的 ID。