use*_*122 12 mysql select insert
我正在尝试将其他行插入到表中,该表需要从另一个表中检索值.以下是一个示例查询:
insert into a.grades (rollno, grade)
values(select rollno from b.students where ssn=12345, 'A');
Run Code Online (Sandbox Code Playgroud)
b.students表的结构是rollno, ssn, name.
我知道上面的查询是错误的.有没有办法在插入行时从其他表中检索1个值?
Jon*_*ler 38
INSERT INTO a.grades (rollno, grade)
SELECT rollno, 'A' FROM b.students WHERE ssn = 12345;
Run Code Online (Sandbox Code Playgroud)
有些DBMS会接受以下内容,在SELECT语句周围有一组额外的括号:
INSERT INTO a.grades (rollno, grade)
VALUES((SELECT rollno FROM b.students WHERE ssn = 12345), 'A');
Run Code Online (Sandbox Code Playgroud)