我需要正确地遵循SQL脚本语法.在postgres中,你不能真正将"alter sequence"与"select max(id)"链接起来.那么以PostgreSQL接受它的方式编写脚本的正确方法是什么?
这是脚本,所以你可以知道我需要什么:
alter SEQUENCE notification_settings_seq START with (select max(id) from game_user)
Run Code Online (Sandbox Code Playgroud) 我遇到了糟糕的表问题,因为我创建了自己的用户类而不是切换到默认的Django类.无数头痛后,我们决定只是做一个干净python manage.py reset的syncdb.创建了一个新用户,但User.id的主键计数器从前一个用户开始,这意味着在创建使用User.id作为主键的其他表时,它们总是处于关闭状态.
我怎么能完全重写,以便从1开始,或者改变计数器,使它现在为2(因为我创建了一个用户)?如果它涉及SQL,请告诉我在哪里放置它,因为我的应用程序托管在Heroku上.
谢谢!
我有2列的客户表
CREATE TABLE clients
(
client_id serial primary key,
name VARCHAR(40) not null
)
Run Code Online (Sandbox Code Playgroud)
我有一个JSON数据像
[{client_id:"1",name:"Rick"},{client_id:"2",name:"Carlin"}]
Run Code Online (Sandbox Code Playgroud)
现在,我需要使用此json进行解析并将其插入到我的客户表中。我如何使用jsp servlet和postgres数据库做到这一点。
在 PostgreSQL (9.3) 中,我有一个表定义为:
CREATE TABLE charts
( recid serial NOT NULL,
groupid text NOT NULL,
chart_number integer NOT NULL,
"timestamp" timestamp without time zone NOT NULL DEFAULT now(),
modified timestamp without time zone NOT NULL DEFAULT now(),
donotsee boolean,
CONSTRAINT pk_charts PRIMARY KEY (recid),
CONSTRAINT chart_groupid UNIQUE (groupid),
CONSTRAINT charts_ichart_key UNIQUE (chart_number)
);
CREATE TRIGGER update_modified
BEFORE UPDATE ON charts
FOR EACH ROW EXECUTE PROCEDURE update_modified();
Run Code Online (Sandbox Code Playgroud)
我想用如下序列替换chart_number:
CREATE SEQUENCE charts_chartnumber_seq START 16047;
Run Code Online (Sandbox Code Playgroud)
以便通过触发器或函数,添加新图表记录自动按升序生成新图表编号。但是,没有现有的海图记录可以更改海图编号,而且多年来分配的海图编号一直存在跳跃现象。因此,在为新图表记录分配新图表编号之前,我需要确保尚未使用“新”图表编号,并且没有为具有图表编号的任何图表记录分配不同的编号。
如何才能做到这一点?
我使用 TablePlus(SQL 客户端)将 Postgres SQL 文件导入到我的服务器,但在插入新行后,出现如下错误:
SQLSTATE[23505]:唯一违规:7 错误:重复键值违反唯一约束 \"users_pkey\" 详细信息:键 (id)=(1) 已经存在
我知道它是由序列值为 0 引起的,需要通过以下代码更新:
SELECT setval(_sequence_name_, max(id)) FROM _table_name_;
Run Code Online (Sandbox Code Playgroud)
但是如果我必须一一写入所有表序列(可能是数百个序列),则需要很多时间。那么如何一次更新所有序列呢?
我已手动将生产中的所有数据导入到开发服务器,但出现此错误。我还在这里阅读了修复此问题的文章,但仅限于单个表。我已经导入了大约 10 个以上的表及其数据。这是错误:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "influences_pkey" DETAIL: Key (id)=(1) already exists. : INSERT INTO "influences" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"
Run Code Online (Sandbox Code Playgroud)