2012-03-26 129 views
0

我需要編寫以下查詢,以便「att」字段始終爲常量。mysql是這個查詢可能嗎?

INSERT INTO index(id,val,att) (SELECT ID,val FROM product), 14; 

「14」 是一個常數

如何將我寫的,如果連可能嗎?

回答

4
INSERT INTO `index`(id,val,att) SELECT id,val,14 FROM product 

指數是無法爲表一個非常好聽的名字順便說一句...你可以使用反引號(`)來逃避它,而是更好拿起另一個名字。

+0

我知道,那個名字甚至不可能我認爲 – nick 2012-03-26 06:39:51

+1

在INSERT ... SELECT上不需要VALUES,而且select不需要在parens中。 – Ilion 2012-03-26 06:44:34

+0

哦謝謝!即使沒有VALUES,它也可以工作。感謝大家如此快速的迴應! – nick 2012-03-26 06:45:44

1

您可以使用此:

INSERT INTO `index` (id,val,att) 
SELECT ID,val,14 FROM product 
2

只需添加常數在SELECT聲明

INSERT INTO `index`(id, val, att) (SELECT ID, val, 14 FROM product); 
0
INSERT INTO index(id,val,att) VALUES (SELECT id,val,14 FROM product) 

試試吧

1

您可以簡單地選擇一個數字,這將是回。這應該工作:

INSERT INTO `index`(id,val,att) SELECT ID,val,14 FROM product; 

注:

  1. 你做需要插入值關鍵字。選擇 語句。 http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
  2. 正如另一個人提到的,索引不是一個很好的表名,因爲它是一個保留字。
1
INSERT INTO `Index`(id, val, att) 
SELECT ID, val, 14 
FROM Product 
0

INSERT INTO TABLE_NAME(ID,纈氨酸,ATT)SELECT ID,纈氨酸,14從產品

不使用表名像索引,並且沒有必要()從表中選擇。