2015-06-24 98 views
0

表1SELECT語句顯示額外的列

代碼|類型|顏色|說明|

1 |水果|紅色|蘋果

1 |水果|橙色|桃

1 |水果|藍色|藍莓

1 |水果|綠色|酸蘋果

1 |水果|黃色|檸檬

我運行下面的代碼:

SELECT 
code, 
type, 
color, 
description 
FROM table 

如果有人給我一個CSV與附加列是沒有辦法,我可以添加生成字符串錯誤在其他列字段代碼?

我不知道額外的列名稱,因爲它取決於用戶指定它 - 我想要產生的所有效果是,如果他們這樣做,我會知道是否有添加額外的字段。

+0

請注意列名「code」和「type」。他們是[保留字](http://dev.mysql.com/doc/refman/5.6/en/keywords.html)。 –

+0

SQL語句與CSV文件無關。解釋你在做什麼(或你想做什麼)。 –

+0

@LorenzoGatti我正在使用LOAD DATA LOCAL INFILE語句在本地上傳CSV文件,並且現場檢查它們是否有錯誤 - 將文件加載到我的數據後,我想查找是否有人包含除上述以外的其他列。 – bennyharassi

回答

0

MySQL的LOAD DATA命令

  • 忽略輸入文件額外列,並可能產生,如果他們被發現
  • 不給名字輸入文件列的警告;它的值賦給表中的列和變量,這是固定的(在tble定義無論是隱性或顯性的LOAD DATA命令)

換句話說,你將永遠載入代碼類型顏色描述進入你的表,不管輸入的畸形。

有一種可能的解決方法來查找帶有一個或多個額外列的行:將文件加載到具有NULL列的空輔助表中,並使用NULL缺省值。如果CSV文件中的任何一行有5列或更多列,測試表將包含第五列IS NOT NULL;你可以數它們。