是否可以從表中獲取所有列和數據,但是將ID列選爲NULL?在mysql中選擇所有(但一列爲空)
喜歡的東西
SELECT *, id AS (SELECT '') FROM my_table WHERE 1
我想在ID列拉,因此它不會弄亂了以後的數據負載的列數,但我想要消除列的值,因此它不」導致重大沖突。
謝謝!
是否可以從表中獲取所有列和數據,但是將ID列選爲NULL?在mysql中選擇所有(但一列爲空)
喜歡的東西
SELECT *, id AS (SELECT '') FROM my_table WHERE 1
我想在ID列拉,因此它不會弄亂了以後的數據負載的列數,但我想要消除列的值,因此它不」導致重大沖突。
謝謝!
因此,沒有辦法使用SELECT *
並用另一個值替換其中一列。
如果您不想使用應用程序代碼中提供的select語句,則可以創建一個視圖,其中填充了這些字段並且ID已被清除。您仍然必須至少命名一次所有列。
select NULL as ID, t.col2, t.col3, t.col4 from mytable t where col2 = 1
這是最簡單的方式讓所有的列名的:
SELECT column_name FROM information_schema.columns WHERE table_name = mytable
感謝維尼 - 這就是我最終的目標。 – julio 2011-05-17 23:34:46
你不能那樣做。這在SQL中是不允許的。你應該寫所有的字段,然後說id爲空。
SELECT a,b,c,d,e, id as NULL from table
什麼
SELECT *, NULL AS id FROM my_table
你會得到id
列出兩次,所以你需要將*
擴大到所有的列名,爲每個表你想這個上運行。 (如果你想自動提取列名,你可以使用供應商特定的函數;我不記得MySQL是否有這種情況)。
SELECT NULL AS ID, Column1, Column2, ..., ColumnN
FROM my_table
你可以這樣做:
SELECT null AS id, t.* FROM my_table t
但是,這將包括ID兩次。如果您只需要空ID列,則需要指定列。
SELECT null As id, t.col1, t.col2 FROM my_table t
因爲它聽起來就好像是準備到數據轉儲無論如何,使用臨時表
CREATE TEMP TABLE t000 AS SELECT * FROM my_table; -- or INSERT INTO
UPDATE t000 SET id = NULL;
的真正關係語言Tutorial D允許投影(其它所有其他相關的關係運算符)中表達根據要刪除的屬性而不是要保留的屬性
my_relvar { ALL BUT ID }
(但作爲當然的真正關係教程d沒有空的概念!)
可悲的是,SQL沒有這樣的語言功能,並且您必須手寫寫的所有列名。
對不起,我應該更清楚地說明一下 - 表格可能有80列 - 我更願意使用*符號而不必指定整列列表。由於 – julio 2011-05-16 21:44:12
+1,可能重複[SQL使用排除列選擇\ * \ [除columnA \] FROM表A?(http://stackoverflow.com/questions/729197/sql-exclude-a-column-using- select-except-columna-from-tablea)那麼,鏈接的問題是更一般的(不綁定到MySQL),但答案也適用於此。 – TMS 2014-04-09 07:20:49