一般我们用一下语句重建序列号:
ALTER SEQUENCE payroll_analysis.sys_dict_item_id_seq RESTART WITH 64
64为这个表最大的id。
但可能会出现以下情况:
ERROR: relation "payroll_analysis.sys_dict_item_id_seq" does not exist
!!!序列号的名字不对
如何查找表的序列号呢?
SELECT column_name, column_default
FROM information_schema.columns
WHERE table_name = 'sys_dict_item' AND column_default LIKE 'nextval%';
那么下图的sys_dict_item_seq就是序列号名字!!!
最后用下面指令即可重建序列号:
SELECT setval('sys_dict_item_seq', (SELECT MAX(id) FROM sys_dict_item));