我正试图在一个表中插入额外的行,这需要从另一个表中检索值。下面是一个示例查询:
insert into a.grades (rollno, grade)
values(select rollno from b.students where ssn=12345, 'A');
b.students
表的结构为rollno, ssn, name
。我知道上面的问题是错误的。插入行时是否有方法从其他表中检索1个值?
最佳答案
INSERT INTO a.grades (rollno, grade)
SELECT rollno, 'A' FROM b.students WHERE ssn = 12345;
有些DBMS会接受以下内容,并在select语句周围加上一组括号:
INSERT INTO a.grades (rollno, grade)
VALUES((SELECT rollno FROM b.students WHERE ssn = 12345), 'A');
关于mysql - 如何在MySQL'insert'语句中使用'select',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11003442/