PostgreSQL 自增语法的用法说明
mysql使用auto_increment的语法实现表字段自增。
在PostgreSQL中,具有数据类型为smallserial,serial,bigserial的字段具有自增特性。
create table company( id serial primary key, name text not null, age int not null, address char(50), salary real );
则在插入该表的时候,可以不插入id列,数据库系统会自动填充。
insert into company(name,age,address,salary) values('huangbaokang',29,'ganzhou',100000);
补充:[Postgresql] 设置主键为自增长类型
使用SERIAL关键字:
create table t(t_id SERIAL primary key,c1 text,c2 text,c3 text,c4 text);
导入数据时可不指定t_id字段,数据库会自动从1开始增长,默认为整型
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
PostgreSQL三种自增列sequence,serial,identity的用法区别
这三个对象都可以实现自增,这里从如下几个维度来看看这几个对象有哪些不同,其中功能性上看,大部分特性都是一致的或者类似的. 1.sequence在所有数据库中的性质都一样,它是跟具体的字段不是强绑定的,其特点是支持多个对个对象之间共享. sequence作为自增字段值的时候,对表的写入需要另外单独授权sequence(GRANT USAGE ON SEQUENCE test_old_id_seq;) sequence类型的字段表,在使用CREATE TABLE new_table LIKE old
-
在PostgreSQL中设置表中某列值自增或循环方式
在postgresql中,设置已存在的某列(num)值自增,可以用以下方法: //将表tb按name排序,利用row_number() over()查询序号并将该列命名为rownum,创建新表tb1并将结果保存到该表中 create table tb1 as (select *, row_number() over(order by name) as rownum from tb); //根据两张表共同的字段name,将tb1中rownum对应值更新到tb中num中 update tb set
-
postgresql 导入数据库表并重设自增属性的操作
postgresql使用Navicat软件导出数据库表,在导入会数据库的操作. postgresql 的自增字段 是通过 序列 sequence来实现的. 1.先删除导出的数据库表中的自增属性 2.导入数据库表之后,需要创建序列. 注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为cof_table_hot_analysis,主键字段为 id CREATE SEQUENCE cof_table_hot_analysis_id_seq START WI
-
解决postgresql 自增id作为key重复的问题
啥也不说啦,看代码吧~ SELECT setval('data_tracking_au_sec_id_seq', (SELECT MAX(id) FROM data_tracking_au_sec)+1); data_tracking_au_sec_id_seq:可以再DDL查看到 data_tracking_au_sec:表名 补充:[Postgresql]-主键自增,插入数据时提示违背主键唯一性 错误备忘录: 1.主键自增,插入数据时提示违背主键唯一性 报错原因是自增主键的序列值与当前主键的
-
postgresql修改自增序列操作
在 mysql 中,实现 id 自增的方式是依靠加一个 auto_increment 标志,而在 pgsql 中,id 自增是通过序列 SEQUENCE. 创建表时设置自增序列为: CREATE TABLE "config" ( "id" int4 NOT NULL DEFAULT nextval('config_id_seq'::regclass), ... }; 如果需要修改创建表之后的序列,如: ----删除前先解除 id 对该序列的依赖 ALTER TABL
-
PostgreSQL 自增语法的用法说明
mysql使用auto_increment的语法实现表字段自增. 在PostgreSQL中,具有数据类型为smallserial,serial,bigserial的字段具有自增特性. create table company( id serial primary key, name text not null, age int not null, address char(50), salary real ); 则在插入该表的时候,可以不插入id列,数据库系统会自动填充. insert into
-
OGNL表达式基本语法与用法详解
一.OGNL中的#.%和$符号 #.%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分.在这里我们简单介绍它们的相应用途. 1.#符号的三种用法 1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于ActionContext. getContext():#session.msg表达式相当于ActionContext.getContext().getSessi
-
JavaScript针对网页节点的增删改查用法实例
本文实例讲述了JavaScript针对网页节点的增删改查用法.分享给大家供大家参考.具体分析如下: 一.基本概念 这部分也就是所谓的"HTML DOM",所谓HTML DOM也就是Web页面加载规则,是一个规则,也就是网页组成的基本公式. 也就是所有网页都必须按照:<html><body></body></html>--的规则编写,也按照这样的规则加载. 所谓的"网页节点",也叫"DOM节点"的通俗
-
SQL中limit函数语法与用法(MYSQL获取限制某行数据)
1.limit函数的语法和用法 (1)常用且简单的语法和用法 ①语法:limit n 即limit <参数> 具体语法:select <字段1>,...,<字段n> from <表名> (where <条件> order by <字段1>...<字段n> asc|desc) limit n 说明:括号内的语句可省略 参数说明: n:为阿拉伯数字,表示前n行. ②用法:用于获取前n行数据. (2)另一种(两个参数)语法和用法
-
正则表达式RegExp语法与用法详解
目录 正则表达式的定义和用途 创建正则表达式 方式一:使用构造函数创建 方式二:使用字面量创建 正则表达式的语法 匹配字符 简写 模式修正符 贪婪匹配 断言 正则表达式的使用 搜索第一个符合条件的字符串 search() 搜索所有符合条件的字符串 match() 字符串拆分成数组 split() 字符串替换 replace() 过滤HTML标签 去除空格 常用正则表达式 总结 正则表达式的定义和用途 正则表达式用于定义一些字符串的规则.计算机可以根据正则表达式,来检查一个字符串是否符合指定的规则
-
postgresql rank() over, dense_rank(), row_number()用法区别
如下学生表student,学生表中有姓名.分数.课程编号,需要按照课程对学生的成绩进行排序 select * from jinbo.student; id | name | score | course ----+-------+-------+-------- 5 | elic | 70 | 1 4 | dock | 100 | 1 3 | cark | 80 | 1 2 | bob | 90 | 1 1 | alice | 60 | 1 10 | jacky | 80 | 2 9 | iri
-
Postgresql去重函数distinct的用法说明
在项目中我们常会对数据进行去重处理,有时候会用in或者EXISTS函数.或者通过group by也是可以实现查重 不过Postgresql还有自带去重函数:distinct 下面是distinct 的实例: 1.创建表:user CREATE TABLE `user` ( `name` varchar(30) DEFAULT NULL, `age` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `us
-
PostgreSQL 序列增删改案例
创建序列 CREATE SEQUENCE if not exists test_mergetable_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 999999999 START 1 CACHE 1; //或者: create sequence if not exists test_mergetable_id_seq increment by 1 minvalue 1 no maxvalue start with 1; 指定序列(给表的主键指定创建好的序列) al
-
PostgreSQL的generate_series()函数的用法说明
我就废话不多说了,大家还是直接看代码吧~ SELECT generate_series(1,12) AS month; SELECT generate_series(1,12,1) AS month; SELECT generate_series('2020-01-01'::DATE,'2020-12-31'::DATE,'1 month'::INTERVAL) AS first_of_month; 补充:PostgreSQL使用generate_series函数 填充数据(插入数据) sele
随机推荐
- 探索angularjs+requirejs全面实现按需加载的套路
- JavaScript字符串检索字符的方法
- php实现的简单日志写入函数
- JavaScript 中有关数组对象的方法(详解)
- PowerShell中使用Get-ChildItem命令读取目录、文件列表使用例子和小技巧
- jQuery实现带玻璃流光质感的手风琴特效
- js自动闭合html标签(自动补全html标记)
- ASP.NET中用js取CheckBoxList中值的方法实例
- php实现用于验证所有类型的信用卡类
- PHP include任意文件或URL介绍
- js网页中随意拖动的小方块实现代码
- Python基于回溯法子集树模板解决旅行商问题(TSP)实例
- 解决JS内存泄露之js对象和dom对象互相引用问题
- 优化javascript的执行效率一些方法总结
- 学习ASP和编程的28个观点
- XML文件转化成NSData对象的方法
- JavaScript学习笔记之惰性函数示例详解
- c#中@的3种作用
- C#基于基姆拉尔森算法计算指定日期是星期几的方法
- BBS(php & mysql)完整版(四)