日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > 淺談PostgreSQL中大小寫不敏感問題

淺談PostgreSQL中大小寫不敏感問題

時間:2024-02-09 10:40作者:下載吧人氣:21

本文主要討論PostgreSQL中大小寫不敏感存在的問題。

默認情況下,PostgreSQL會將列名和表名全部轉換為小寫狀態。

淺談PostgreSQL中大小寫不敏感問題

圖1 Person與person

如圖1所示,我們創建表person,其中包含name列。然后插入一條記錄。執行SELECT查詢時,使用列名Name和表名Person而不是name和person,發現仍然可以正常獲取剛剛插入表person中的記錄。

淺談PostgreSQL中大小寫不敏感問題

圖2 創建表Person?

此時如果我們再想創建表Person,會得到一個錯誤,因為此時PostgreSQL實際上把表名從Person轉換成了person。由于已經存在表person,所以會報錯。

通常情況下,這種大小寫不敏感是很方便的,但是當我們想創建大小寫敏感的表名和列名(需要使用雙引號)時,會產生一些問題。

淺談PostgreSQL中大小寫不敏感問題

圖3 創建表Person

如圖3所示,我們成功創建了表Person,并插入了一條記錄,此條記錄和插入person中的不同以示區分。再次使用SELECT查詢,并且使用表名Person和列名Name,但是返回的結果卻是person中的記錄。這還是因為PostgreSQL將Person轉換成了person。所以想要正確查詢,需要使用“Person”和“Name”(如圖4所示)。

淺談PostgreSQL中大小寫不敏感問題

圖4 獲取表Person中的記錄

此時查看數據庫中的表(見圖5),可以發現Person和person這兩個表都在數據庫中。如果我們使用DROP TABLE Person,刪除的仍然是表person。

淺談PostgreSQL中大小寫不敏感問題

圖5 刪除操作

綜上所述,當創建表或者寫SQL查詢語句時,建議避免使用雙引號。

補充:PostgreSQL大小寫不敏感排序

pg12開始支持不區分大小寫,或者區分大小寫的排序的collate。

語法:

CREATE COLLATION [ IF NOT EXISTS ] name (
[ LOCALE = locale, ]
[ LC_COLLATE = lc_collate, ]
[ LC_CTYPE = lc_ctype, ]
[ PROVIDER = provider, ]
[ DETERMINISTIC = boolean, ]
[ VERSION = version ]
)
CREATE COLLATION [ IF NOT EXISTS ] name FROM existing_collation

標簽[db:關鍵字]

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产日韩欧美在线观看不卡 | 特级做人爱c级特级aav毛片 | 国产欧美日韩精品一区二 | 亚洲欧美激情精品一区二区 | 国产成人综合手机在线播放 | 欧美一级片在线免费观看 | 色偷偷88欧美精品久久久 | 亚洲综合伦理一区 | 欧美亚洲日本一区二区三区浪人 | 日本一区二区免费在线观看 | 97国产精品欧美一区二区三区 | 国产精品漂亮美女在线观看 | 国产在线观看精品一区二区三区91 | 91久久香蕉青青草原娱乐 | 二区三区在线观看 | 国产精品推荐 | 久久精品视频播放 | 欧美特黄高清免费观看的 | 韩国美女爽快毛片免费 | 亚洲日本高清成人aⅴ片 | 日本国产最新一区二区三区 | 国产三级精品在线观看 | 成人男女啪啪免费观看网站 | 在线国产视频 | 日本三级久久 | 成人在免费视频手机观看网站 | 久草首页在线 | 国产第一页久久亚洲欧美国产 | 亚洲一区二区三 | 在线视频观看免费视频18 | 欧美日本一区 | 经典国产乱子伦精品视频 | 久久女厕一次看个够 | 欧美不卡视频 | 国产三级在线观看 | 国产乱码精品一区二区三区卡 | 精品日本亚洲一区二区三区 | 国产aaa级一级毛片 国产aaa毛片 | 欧美成人免费香蕉 | 久久国产高清 | 日韩欧美三级在线观看 |