簡體   English   中英

如何在 MySQL 'insert' 語句中使用 'select'

[英]How to use 'select ' in MySQL 'insert' statement

我正在嘗試將其他行插入到需要從另一個表檢索值的表中。 下面是一個示例查詢:

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');

insert into 和 select 中的列必須相等

INSERT INTO grades (field1, field2)
  SELECT field1, field2 from students where ssn=12345;

來自兩個不同數據庫的表!

數據庫 1 - 人

數據庫 2 - 順序

  • 表 - per_details
  • 表 - or_details

這里使用的是數據庫2下的插入查詢!

INSERT INTO `or_details`(`per_name`) VALUES ( (SELECT person.per_details.per_name from person.per_details WHERE person.per_details.id=1001) );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM