簡體   English   中英

為什么即使列在表中不存在,sql也會給出結果?

[英]Why the sql is giving result even if the column doesn't exist in the table?

我在SQLite3中使用MySql,我只想檢查表中是否存在列? 為此,我使用了“選擇並嘗試捕獲”命令,但是每當我給列名稱使用數字如1,'2'“ 3”時,它會返回具有相同數字的列,例如1,2,3而不會顯示錯誤,為什么?

select 20 from Student;

20
20
20
20
20
20

顯示20直到我的實際Student表中存在行數。

我了解到用數字值設置列名稱不是一件好事,但是如果您的列名稱確實是數字值,則應在查詢中添加反引號\\反引號。 例如:

SELECT `20` FROM Student;

這樣,如果該列不存在,則會出現以下錯誤:

Error Code: 1054
Unknown column '20' in 'field list'
SHOW COLUMNS FROM `table` LIKE 'fieldname';

對於MySQL,如果該列存在,則它將返回列的信息,其中table是您的表名,而'fieldname'是該列名。 如果該列不存在,它將不返回任何內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM