新聞中心
今天遇到一個(gè)奇怪的問(wèn)題(其實(shí)是非?;A(chǔ)的問(wèn)題),記錄一下
郫都ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!
問(wèn)題描述:
一個(gè)sequence,名字為:SV_INFO_SEQ_id 在PGAdmin中看存在,查詢(xún)information_schema.sequences視圖也存在,名字也完全一樣,但是在重置時(shí)總提示relation does not exists,重置語(yǔ)句是
select setval('SV_INFO_SEQ_id',1)
排錯(cuò)過(guò)程:
困惑了好久無(wú)果,執(zhí)行 select nextval('SV_INFO_SEQ_id')也是一樣的提示關(guān)系不存在。查看建立時(shí)SQL才發(fā)現(xiàn)問(wèn)題,建立時(shí)使用的是CREATE SEQUENCE "SV_INFO_SEQ_id"……
突然才想到PG是大小寫(xiě)敏感的,默認(rèn)情況下會(huì)把對(duì)象名全部轉(zhuǎn)成小寫(xiě)形式存于數(shù)據(jù)庫(kù)中。如果要保持大寫(xiě),或大小寫(xiě)混寫(xiě),則必須將對(duì)象稱(chēng)用雙引號(hào)引起來(lái),使用時(shí)也必須用雙引號(hào)。再次執(zhí)行
select setval('“SV_INFO_SEQ_id”',1) 得到正確的結(jié)果。
舉個(gè)例子:
create sequence "TEST_SEQ" INCREMENT 1 start 1 minvalue 1 maxvalue 10;
執(zhí)行后,在數(shù)據(jù)庫(kù)中存儲(chǔ)的是就是大寫(xiě)的名稱(chēng),使用時(shí)也名稱(chēng)也必須用雙引號(hào)引起來(lái),比如
SELECT NEXTVAL("TEST_SEQ")
最后結(jié)論:
數(shù)據(jù)庫(kù)對(duì)象盡量全部使用小寫(xiě)名稱(chēng),不要大寫(xiě)也不要大小混排,開(kāi)發(fā)時(shí)做好開(kāi)發(fā)規(guī)范,必免出現(xiàn)問(wèn)題。
網(wǎng)頁(yè)標(biāo)題:postgresql中大寫(xiě)的問(wèn)題
標(biāo)題鏈接:http://fisionsoft.com.cn/article/gcjeig.html