2014-10-27 73 views
0

如何從表中選擇除主鍵以外的所有列?應該注意的是,我不知道這個表中的字段名稱,操作應該能夠自動運行。選擇MySQL中主鍵除外的所有列

謝謝你的幫助。

+2

我能好奇的問結果你爲什麼會想選擇一切,但主鍵? – AdamMc331 2014-10-27 05:44:19

+0

請顯示您的表格定義。您可以使用'DESC '來獲得定義。 – davidkonrad 2014-10-27 05:44:20

+1

可能重複http://stackoverflow.com/questions/9122/select-all-columns-except-one-in-mysql – AdamMc331 2014-10-27 05:47:44

回答

0

用途:

讓所有列沒有主要用途

SELECT `COLUMN_NAME` FROM `information_schema`.`COLUMNS` WHERE (`TABLE_SCHEMA` = 'wpresstest') AND (`TABLE_NAME` = 'wp_countries') AND (`COLUMN_KEY` <> 'PRI') 

見你不能做所有使用簡單SQL.So

無論是使用mysql準備執行語句,或者使用PHP方式如下:

1)這將是您的第一個查詢如上所述。您將獲得所有列名稱不包括primary.OK?

2)現在獲取PHP的結果數組,然後爲您剛剛獲得的以逗號分隔的列名創建動態查詢。

3)現在消滅第2個查詢來獲取ROWS。在這裏您將包含​​3210。

並獲得列名後,你可以解僱查詢返回基於返回的列

+0

謝謝,但是這個錯誤返回:#1064 - 你的SQL語法有錯誤;請檢查與您的MySQL服務器版本相對應的手冊,以便在第1行的tbl1處使用來自'TABLE INDEXES FROM TABLE WHERE Key_name <>「PRIMARY」)的正確語法 – Behzad 2014-10-27 06:09:55

+0

@Behzad,更新回答,替換表格,DB名稱由您自己的表 wp_countries,wpresstest – 2014-10-27 06:13:25

+0

非常感謝,但再次錯誤:(......我使用此SELECT(SELECT'COLUMN_NAME' from'information_schema'.'COLUMNS' WHERE('TABLE_SCHEMA' ='test')AND('TABLE_NAME '('='tbl1')AND('COLUMN_KEY' <>'PRI'))FROM tbl1 – Behzad 2014-10-27 06:20:57