如何在php / mysqli中向同一个班级的所有学生注册一个科目(第4个步骤)

问题描述 投票:-1回答:1

[我需要帮助。我有2个数据库(学生和学科)。

学生数据库A

CREATE TABLE `students` (
  `student_id` int(50) NOT NULL,
  `student_name` varchar(100) NOT NULL,
  `father_name` varchar(100) NOT NULL,
  `class` varchar(10) NOT NULL,
  `subject_group` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

------------------------------------------------------

Database B for subjects

CREATE TABLE `subjects` (
  `subject_id` int(10) NOT NULL,
  `student_id` int(50) NOT NULL,
  `subject_name` varchar(25) NOT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

如果我在Pry 4中有10个学生,我如何一次为所有小学4年级的学生注册数学。请使用PHP / Mysqli

mysql sql database insert-update
1个回答
0
投票

您可以进行INSERT/SELECT

INSERT INTO subjects (subject_id, student_id, subject_name)
SELECT <math_id>, student_id, 'math'
FROM students st
WHERE class = 'Pry4' -- Get all students in this class

如果要基于其ID添加类,只需添加JOIN

INSERT INTO subjects (subject_id, student_id, subject_name)
SELECT sb.subject_id, st.student_id, sb.subject_name
FROM students st
CROSS JOIN subjects sb
WHERE st.class = 'Pry4' -- Get all students in this class
AND sb.subject_id = <math_id> -- Get subject info

这假设每个主题一行。

© www.soinside.com 2019 - 2024. All rights reserved.