PostgreSQL 欄位名大小寫的坑

2021-10-03 18:22:20 字數 856 閱讀 9383

最近用golang對接postgresql的時候發現,如果欄位名有大寫字母,這時候直接判斷查詢就會報找不到欄位的錯誤

比如:a_bb_cc

start

get obj err

pq: column "a_bb_cc" does not exist

檢查了資料庫對應字段存在啊,不對,怎麼變成小寫?大小寫不識別麼?

後來發現是pg的坑,對於大寫欄位名,需要加上雙引號

正確示例:

var obj mod.test

err = db.

model

(&mod.test).

where

("\"a_bb_cc\" = ?"

,"aaaa").

first

(&obj)

.error

但是需要注意,必須是雙引號,單引號不會報錯,但返回的是空集

錯誤示例:

var obj mod.test

err = db.

model

(&mod.test).

where

("'a_bb_cc' = ?"

,"aaaa").

first

(&obj)

.error

返回查詢結果的id,上邊是單引號,返回空集,下邊是雙引號,返回需要的結果

SQL Server更改欄位名

更改欄位名 列名 sp rename 表名.原列名 修改後的列名 column 我感覺下面的內容也挺實用,就隨手摘錄下來吧 修改字段 alter table 表名 alter column 欄位名 nvarchar 50 null 重新命名表 access 重新命名表,請參考文章 在access資料...

Mysql修改字段型別,欄位名

mysql修改字段型別 alter table 表名 modify column 欄位名 新資料型別 新型別長度 新預設值 新注釋 column可以省略 alter table table1 modify column column1 decimal 10,1 default null commen...

查詢表的欄位名

select name from syscolumns where id in select id from sysobjects where type u and name 相應表名 用以上sql語句輸入相應表名就可以查到表的欄位名,對應好資料庫 查詢是否存在該錶語句 if exists sele...