2014-02-06 26 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'); 

按照此方法

相关问题