mysql資料庫欄位名為關鍵字出現的問題

2021-10-07 22:12:25 字數 632 閱讀 8444

真是奇葩年年多,今天又乙個,我們都知道,無論是保留字還是關鍵字或者特殊埠等等,都是系統預留的自用的,但是偏偏有人喜歡用這些,所以就導致其他人在用的時候出現各種錯誤,今天就記錄乙個我遇到的,關於mysql欄位名的問題。

今天在用sql查詢時,總是提示index附近出現錯誤,剛開始以為是數值型別不對,檢查了一下發現型別是varchar,然後才知道,問題的原因是index是關鍵字,正常情況下是不能作為欄位名使用的,不知道誰建的表,偏偏使用了這個,再一看發現,sql了index是藍色,那就是預設的關鍵字了。如圖:

1、將index加上單引號,然後執行sql語句,果然,沒有報錯,但是又出現乙個問題就是,查詢不到資料。看來是並不認可這種查詢,或許是在建表的時候欄位名是這種形式才能用這種形式進行查詢吧。

2、index兩邊加上反引號,是的,是反引號不是單引號,鍵盤上和波浪號在一起的那個 。經過驗證,這個解決方案是可行的,或許反引號的作用類似於正則裡的"\"這個符號吧 。

最後還是警戒大家盡量避免這種問題,可能不僅僅是對你產生困擾,也給其他人帶來不便,乙個欄位的名字而已,想不起來也可以用這些關鍵字的衍生字,index不能用,indexs不就可以了。

資料庫命名規範(表 欄位名)

資料庫命名規範 一 實體和屬性的命名 1 常用單詞已經進行了縮寫,在命名過程當中,根據語義拼湊縮寫即可。注意,由於orcal資料庫會將欄位名稱統一成大寫或者小寫中的一種,所以要求加上下劃線 舉例 定義的縮寫 sales sal 銷售 order ord 訂單 detail dtl 明細 則銷售訂單名...

資料庫命名規範(表 欄位名)

資料庫命名規範 一 實體和屬性的命名 1 常用單詞已經進行了縮寫,在命名過程當中,根據語義拼湊縮寫即可。注意,由於orcal資料庫會將欄位名稱統一成大寫或者小寫中的一種,所以要求加上下劃線 舉例 定義的縮寫 sales sal 銷售 order ord 訂單 detail dtl 明細 則銷售訂單名...

ASP獲取資料庫表名,欄位名

在asp論壇上看到很多問怎麼獲取資料庫表名,欄位名以及如何對欄位進行刪除,增添的操作故寫此文。本人對sqlserver比較熟一些,故以sqlserver為列 set conn server.createobject adodb.connection conn.open server ip位址 pro...