dem*_*mux 5 mysql django postgresql postgresql-9.0
我最近将数据库从mysql迁移到了pgsql 9.
但是现在当我尝试创建一个新对象(在django admin中)时,它告诉我我正在尝试使用的id(从一开始并且每次尝试都增加)已经被使用了.
我猜测有一个指针或索引需要设置为最后使用的id.我对么?
定义表时,相当于'auto_increment'的PostgreSQL是:
CREATE TABLE foo (
id SERIAL,
...
);
Run Code Online (Sandbox Code Playgroud)
如果您的表已经创建(我怀疑它是),您可以手动添加:
CREATE SEQUENCE foo_id_seq;
ALTER TABLE foo ALTER COLUMN id SET DEFAULT nextval('foo_id_seq');
Run Code Online (Sandbox Code Playgroud)
请注意,如果您想坚持使用Pg提供的默认名称,请使用以下格式作为序列名称:
<table name>_<column name>_seq
Run Code Online (Sandbox Code Playgroud)
因此在我的例子中foo_id_seq
.
归档时间: |
|
查看次数: |
913 次 |
最近记录: |