2014-02-06 53 views

回答

4

你是非常接近

INSERT INTO books (borrower_name, isbn) 
SELECT 'Jane', isbn 
    FROM table_name 
-- WHERE id = ? 

您可能需要使用WHERE條款和適當的條件下(S)

這裏限制從table_name未來的行數爲SQLFiddle演示


更多了,如果你打算從SELECT只返回一個標量值(只有一個ISBN),那麼你在第一時間正確,並可能已經使用的語法顯示在你的問題

INSERT INTO books (borrower_name,isbn) 
VALUES ('Jane', 
     (
      SELECT isbn 
      FROM table_name 
      WHERE id = 1 
     )); 

這裏是SQLFiddle演示

1
INSERT INTO BOOKS(borrower_name,isbn) 
SELECT 'Jane', isbn from TABLE 
2

什麼你在做也是正確的,U只錯過()的select語句:

INSERT INTO BOOKS(borrower_name,isbn) VALUES("Jane",SELECT isbn from TABLE...); 

應修改爲:

INSERT INTO BOOKS(borrower_name,isbn) VALUES("Jane",(SELECT isbn from TABLE...)); 

,它會完全正常工作!這裏是SQLFiddle demo

1

檢查這個我的答案... 例子: 我有兩個Employee表和客戶端

Insert into Employee (name, city) values((select name from client where id=2),'example'); 

按照此方法

相關問題