2014-02-05 147 views
0

以下是我在一個表中插入的查詢和另一個表中的一些特定值。請讓我知道什麼是編寫這樣的查詢的適當方式。謝謝,這個查詢有什麼問題

Insert into c_table (name,number,class) 
values ('1','2',select count(id) from thetable) 
+3

是否有任何使用SELECT與INSERT結合使用的例子,或者我們在此打破新的groud? – Strawberry

回答

1

非常接近,但嘗試封閉的子查詢在括號:

insert into c_table (name,number,class) 
values ('1','2',(select count(id) from thetable)) 
+0

非常接近被關閉你的意思是 – zee

+1

@NullSoulException他提到的查詢實際上工作。這個查詢有什麼問題? – user3027531

+1

@ user3027531似乎並不是推薦的正確形式,因爲只要您更改該子查詢以使其返回多行,MySQL會說什麼?我知道它喜歡牛仔風格的組合,但我不確定它是否會喜歡牛仔風格的子查詢。 –

3

取而代之的是VALUES()條款,在SELECT組件使用INSERT INTO ...SELECT模式與靜態值的前兩列。 SELECT列表中前兩個僞列的值始終相同,但COUNT()的值將隨thetable.動態變化。如有必要,請確保將WHERE子句添加到SELECT語句中。

INSERT INTO c_table (name, number, class) 
    SELECT 
    '1' AS name, 
    '2' AS number, 
    COUNT(id) AS class 
    FROM thetable 
/* WHERE <conditions if necessary> */