AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[auto-increment](dba)

Martin Hope
Shankar
Asked: 2022-05-10 05:34:17 +0800 CST

Greenplum向表中添加一列并以增量顺序向其中插入值

  • 1

我有一个像下面这样的表 st.student,它有一列。

学生卡
100001
100002
100003
100004
100005
100006

我需要在其中插入一列,其中的值应该是增量的。像下面这样。注意 NEW_STUDENT_ID 可以从任何值开始。一旦开始,它就是连续的。对此有什么查询?

学生卡 NEW_STUDENT_ID
100001 349009
100002 349010
100003 349011
100004 349012
100005 349013
100006 349014
postgresql auto-increment
  • 1 个回答
  • 68 Views
Martin Hope
Ron Piggott
Asked: 2021-12-16 14:28:39 +0800 CST

什么 PostgreSQL 查询将返回未使用的序列号?

  • -2

我启用了一个 UNIQUE 键,因此 PostgreSQL 将作为一组 INSERT INTO 语句的重复条目的校对器。现在我需要一个未使用的 SEQUENCE 数字的列表,所以接下来我会填充这些数字。

postgresql auto-increment
  • 1 个回答
  • 48 Views
Martin Hope
Dolphin
Asked: 2021-05-22 20:34:18 +0800 CST

错误:序列“rss_sub_source_id_seq”的currval 尚未在此会话中定义

  • 0

当我使用此查询查看 PostgreSQL 13 表的当前主键种子时:

select CURRVAL(pg_get_serial_sequence('rss_sub_source', 'id')) 

它告诉我:

SQL Error [55000]:
ERROR: currval of sequence "rss_sub_source_id_seq" is not yet defined in this session

该id列定义如下:

ALTER TABLE rss_sub_source 
    ALTER id SET NOT NULL,  -- optional
    ALTER id ADD GENERATED ALWAYS AS IDENTITY 
        (START WITH 1233);

表定义:

CREATE TABLE public.rss_sub_source (
    id int8 NOT NULL GENERATED ALWAYS AS IDENTITY,
    sub_url varchar NOT NULL,
    created_time int8 NOT NULL DEFAULT date_part('epoch'::text, now()),
    --  ... many more columns
    CONSTRAINT rss_sub_source_pkey PRIMARY KEY (id),
    CONSTRAINT unique_sub_url UNIQUE (sub_url)
);

如何查看当前主键的自增种子?

postgresql auto-increment
  • 3 个回答
  • 3564 Views
Martin Hope
jarodium
Asked: 2021-04-14 07:01:33 +0800 CST

升级到 10.3 导致从旧版本中删除配置

  • -1

我们最近从 Cpanel 将 MariaDB 从 10.1 升级到了 10.3。

升级后,我们开始在我们使用的 INSERT 子句中遇到问题

插入表值('','one')

其中第一列是具有整数和自动增量的列。

我们收到此错误:

“不正确的整数值:''”


发出查询:

“选择@@SQL_MODE,@@GLOBAL.SQL_MODE;”

结果是:

@@SQL_MODE: NO_AUTO_VALUE_ON_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

@@GLOBAL.SQL_MODE: NO_AUTO_VALUE_ON_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


当 NO_AUTO_VALUE_ON_ZERO 存在时,新插入的 ID 不尊重 auto_increment 属性,最后一个值为 0

您能否阐明必须进行哪些配置才能使 INSERT 在自动增量列中使用空值?

删除 NO_AUTO_VALUE_ON_ZERO 是一项操作。

先感谢您

mariadb auto-increment
  • 1 个回答
  • 36 Views
Martin Hope
JAINAM
Asked: 2019-09-21 01:51:15 +0800 CST

已达到列上设置的 auto_increment 函数的最大可能值

  • 0

我正在使用 MySQL 数据库。我在“ID”列(也设置为主键)上设置了一个 auto_increment 函数。

根据为该列设置的数据类型,当它达到最大可能值时会发生什么?

有人可以帮助我在这种情况下该怎么做吗?会自动处理吗?还是我必须处理它?

mysql auto-increment
  • 1 个回答
  • 338 Views
Martin Hope
Dimitrios Desyllas
Asked: 2019-07-23 01:35:35 +0800 CST

如果将固定值插入到自动增量中,如何自动跳到下一个序列值而不导致插入出错?

  • 0

在我的 postgresql 9.2 数据库中,我创建了下表:

CREATE TABLE dummy(id SERIAL PRIMARY KEY,text TEXT);

我通过以下方式插入了一条记录:

INSERT INTO dummy(text) VALUES ("Hello Word");

然后我插入了这样的记录:

INSERT INTO dummy(id,text) VALUES (2,'SAYONARA Word');

之后,当我尝试插入这样的记录时:

INSERT INTO dummy(text) VALUES ('<3 Word');

我收到以下错误:

错误:重复键值违反唯一约束“dummy_pkey”详细信息:键 (id)=(2) 已存在。

但是当我重新插入值时:

INSERT INTO dummy(text) VALUES ('<3 Word');

没有错误被抛出。

因此,当我看到 potgresql 通过内部计数器自动增加 id 的值时,无论该值是否成功插入。也发生了错误,因为 postgresql 没有在现有的计数器 id 上“打孔”。

那么我如何告诉 postgresql 是否存在自动增量值只是为了跳到下一个并避免使用现有的自动增量值。(现有的我的意思是已经设置为主键的值)。

postgresql-9.2 auto-increment
  • 1 个回答
  • 1141 Views
Martin Hope
BrainStone
Asked: 2018-06-13 04:32:03 +0800 CST

手动将 AUTO_INCREMENT 列增加一

  • 1

我想知道是否有一种简单的方法可以手动将 MySQL 列的自动增量值加一。

用例是使两个表的索引保持同步。就我而言,他们通常都会同时获得一个新条目。但有时只有其中一个获得新条目。这会导致 ID 不同步,这不是我想要的。由于代码的限制,我无法检索任何插入行的 ID,因为我用来与数据库通信的 API 存在相当多的限制。但是,我可以对我的内心内容执行查询。因此,将值增加一个的简单查询将非常受欢迎!

mysql auto-increment
  • 1 个回答
  • 2486 Views
Martin Hope
nrainer
Asked: 2018-05-17 03:08:52 +0800 CST

如何根据变量设置 Auto_Increment 值?

  • 0

是否可以根据变量在 MySQL 中设置自增值?

SELECT 1 + MAX(id) 
INTO @newAiValue
FROM Result_Import_Archive;

ALTER TABLE Result_Import
AUTO_INCREMENT = @newAiValue;

这是我打算做的,但是,MySQL 抱怨它在语法上不正确。

mysql auto-increment
  • 1 个回答
  • 2418 Views
Martin Hope
rainman
Asked: 2017-11-30 14:15:21 +0800 CST

如何在 Oracle 中使现有列自动递增

  • 2

我在我命名的 oracle 数据库中创建了一个表,USERS并创建了一个USER_ID类型NUMBER为我设置为主键的列。

如何修改列USER_ID以使其自动递增 1 ?

请问有什么帮助吗?

oracle-12c auto-increment
  • 2 个回答
  • 13843 Views
Martin Hope
Abdul Aziz Al Basyir
Asked: 2017-09-29 05:20:35 +0800 CST

MySQL - 在插入新 ID 之前设置触发器是否安全?

  • 1

如何在 MySQL 中创建自定义主键?例如我有一个表,表名是X,我有一个表字段为ID, Code, Name。

恐怕如果我有 1000 个用户,当他们一起输入时会 导致破坏

我想:

INSERT INTO `X` (`ID`,`Code`,`Name`) VALUES 
('P3K','Alex'), // this primary key is "P3K-1"
('SOS','Force'), // this primary key is "SOS-1"
('P3K','Bash'), // this primary key is "P3K-2"

现在,我为此使用 TRIGGER ( BEFORE INSERT ),就像这个:

SET NEW.`ID` = CONCAT(NEW.`Code`,'-',IFNULL(SUBSTRING_INDEX((
  SELECT `x`.`Code` FROM `X` WHERE 
    X.`Code` = NEW.`Code` and 
ORDER BY X.`Code` DESC
LIMIT 1 ),'-',-1),0) + 1))

我没有尝试这段代码,但我的观点是:

  1. 用户插入
  2. 在插入之前我检查 LAST Primary
  3. IF Null 然后我设置 0,否则我剪切符号 (-) 并取最后一部分
  4. I 递增(使用 [+ 1])
  5. 最后,我连接CODE和新号码。

我被误导了吗?大声笑,如果是真的,如何创建这样的? (我想)我们可以做到,也许没有人知道这一点,MySQL 中的 AI 是如何完美地工作的?

mysql auto-increment
  • 1 个回答
  • 4104 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve