解決postgreSql 將Varchar類型字段修改為Int類型報錯的問題
項目使用postgreSql數(shù)據(jù)庫,先需要將庫中的某個表中的某個字段類型由Varchar改成Int,直接右鍵設計表,修改類型為int,保存的時候報錯,錯誤如下:
意思就是,這個crt_user字段不能自動轉(zhuǎn)換成成類型bigint,需要使用USING表達式來轉(zhuǎn)換。
這是在庫中運行修改字段的類型的sql:
ALTER TABLE auth_client_service ALTER COLUMN crt_user SET DATA TYPE int8 USING crt_user:: int8, ALTER COLUMN crt_user SET DEFAULT 0;
至此,類型修改成功。
補充:PostgreSQL中將Integer類型的字段轉(zhuǎn)換成Varchar類型的字段
rt,直接用pgadmin是沒有辦法進行這個轉(zhuǎn)換的。
通過執(zhí)行sql卻是可以做到的,關鍵是添加USING表達式,這個表達式的意思是如何初始化這個字段。
比如下面的例子將整形轉(zhuǎn)換成varchar(16)類型
ALTER TABLE app.app_high_school_score
ALTER COLUMN chinese TYPE character varying(16) USING (chinese::character varying(16));
USING 中也可以使用CAST操作符,例如:
USING CAST(column_name AS integer)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
Postgresql之時間戳long,TimeStamp,Date,String互轉(zhuǎn)方式
這篇文章主要介紹了Postgresql中的時間戳long,TimeStamp,Date,String互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03Linux CentOS 7源碼編譯安裝PostgreSQL9.5
這篇文章主要為大家詳細介紹了Linux CentOS 7源碼編譯安裝PostgreSQL9.5的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11PostgreSQL中offset...limit分頁優(yōu)化的一些常見手段
我們在使用數(shù)據(jù)庫進行分頁查詢時,隨著offset過濾的數(shù)據(jù)越來越多,查詢也會越來越慢,下面這篇文章主要給大家介紹了關于PostgreSQL中offset...limit分頁優(yōu)化的一些常見手段,需要的朋友可以參考下2023-05-05使用pg_basebackup對Postgre進行備份與恢復的實現(xiàn)
這篇文章主要介紹了使用pg_basebackup對Postgre進行備份與恢復的實現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01pgsql之create user與create role的區(qū)別介紹
這篇文章主要介紹了pgsql之create user與create role的區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01