2012-10-01 54 views
4

我有一張有很多列的表格。列的總數尚未指定,並會定期更改。MySQL INSERT只有兩個字段

在我的插入查詢中,我只需要將兩個值放入表中。所有其他值將是''。有沒有辦法只指定第一個字段,而不必包含'','','',''...?請參閱下面的例子:

我想有這樣的:

$query = mysql_query("INSERT INTO table VALUES('','$id')"); 

而不是這樣的:

$query = mysql_query("INSERT INTO table VALUES('','$id','','','','','',''......and on and on...)"); 

有沒有辦法做到這一點?謝謝!

+0

你知道2具體列名? –

+0

如果是的話嘗試第二種形式在這個鏈接http://www.w3schools.com/php/php_mysql_insert.asp –

回答

15

是,指定表名後的列名:

INSERT INTO table (column1, column2) VALUES ('','$id') 
1

只要定義要插入的字段,

如:

INSERT INTO table (fieldA, fieldB) VALUES('','$id') 

缺少的字段將有默認該字段的值

6

我更喜歡

INSERT INTO table SET columnA = 'valueA', columnB = 'valueB' 
+0

謝謝彼得!我真的很喜歡這個,因爲它允許以下內容: 表目標:ID(PK),名稱(varchar) INSERT INTO target set name =(SELECT name FROM source); 因爲這會插入很多行! –