sqlserver表轉pgsql時有自增的列不會轉過來(PostgreSQL 實現ID自增的幾種方法)
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
一、為現有表添加自增功能方法1:使用SERIAL/BIGSERIAL(簡單方案)sql -- 修改現有列 方法2:使用IDENTITY(PostgreSQL 10+標準方案)sql -- 修改現有列 方法3:手動創建序列(靈活方案)sql -- 1. 創建序列 二、設置自增ID從特定值開始1. 查看當前最大ID值sql SELECT MAX(id) FROM public.mis_action_log; 2. 設置序列起始值對于SERIAL/BIGSERIAL序列:sql ALTER SEQUENCE mis_action_log_id_seq RESTART WITH [最大ID值+1]; 對于IDENTITY列:sql ALTER TABLE public.mis_action_log; ALTER COLUMN id RESTART WITH [最大ID值+1]; 3. 自動化腳本(一步完成)sql DO $$DECLARE max_id bigint;BEGIN SELECT COALESCE(MAX(id), 0) INTO max_id FROM public.mis_action_log; EXECUTE format('ALTER SEQUENCE mis_action_log_id_seq RESTART WITH %s', max_id + 1);END $$; 4. 使用UUID作為自增替代方案(比較麻煩,一般不用)sql
CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE users ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), name VARCHAR(100) ); ?比較各種方法
三、驗證自增設置sql -- 查看序列當前值 四、完整工作流程示例sql -- 1. 添加自增功能(選擇一種方法) 注意事項
通過以上步驟,可以為現有表添加自增ID功能,并確保新ID從已有數據的最大ID后開始遞增。 該文章在 2025/8/14 9:14:14 編輯過 |
關鍵字查詢
相關文章
正在查詢... |