SQL 如何同时插入多条记录
小弟在做一个教学管理系统,遇到一个小问题求解:由于学校里的课程和需要学习该课程的专业是多对多的关系,我单独建了一张CourseMajor表来表示他们之间的关系,现在在程序...
小弟在做一个教学管理系统,遇到一个小问题求解:
由于学校里的课程和需要学习该课程的专业是多对多的关系,我单独建了一张CourseMajor表来表示他们之间的关系,
现在在程序中需要新增一门课程,并添加该课程所对应的专业,假设现在有一门系级课程(一个系内的所有专业都需要学习该课程)请问如何实现用一句语句插入多行数据?
能否用 INSERT INTO CourseMajor VALUES (值1,值2)
其中值1是某一门课程的课程号(固定值),而我希望值2是Major表中的多个值(比如计算机系中所有专业的专业号)
INSERT INTO CourseMajor
select 13206, MjrID
from Major
where MjrDept = '信机系'
解决了 展开
由于学校里的课程和需要学习该课程的专业是多对多的关系,我单独建了一张CourseMajor表来表示他们之间的关系,
现在在程序中需要新增一门课程,并添加该课程所对应的专业,假设现在有一门系级课程(一个系内的所有专业都需要学习该课程)请问如何实现用一句语句插入多行数据?
能否用 INSERT INTO CourseMajor VALUES (值1,值2)
其中值1是某一门课程的课程号(固定值),而我希望值2是Major表中的多个值(比如计算机系中所有专业的专业号)
INSERT INTO CourseMajor
select 13206, MjrID
from Major
where MjrDept = '信机系'
解决了 展开
2个回答
展开全部
第一个方法:
INSERT INTO MyTable(ID,NAME) VALUES(1,'123');
INSERT INTO MyTable(ID,NAME) VALUES(2,'456');
INSERT INTO MyTable(ID,NAME) VALUES(3,'789');
第二种方法,使用UNION ALL来进行插入操作:
INSERT INTO MyTable(ID,NAME)
SELECT 4,'000'
UNION ALL
SELECT 5,'001'
UNION ALL
SELECT 6,'002'
是不是要比第一种方法简单点,据说要比第一种要快!
INSERT INTO MyTable(ID,NAME) VALUES(1,'123');
INSERT INTO MyTable(ID,NAME) VALUES(2,'456');
INSERT INTO MyTable(ID,NAME) VALUES(3,'789');
第二种方法,使用UNION ALL来进行插入操作:
INSERT INTO MyTable(ID,NAME)
SELECT 4,'000'
UNION ALL
SELECT 5,'001'
UNION ALL
SELECT 6,'002'
是不是要比第一种方法简单点,据说要比第一种要快!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询