MySQL 和 Oracle 主键自增长
1、MySQL
1)建表
auto_increment:每插入一条数据,客户表(customers)的主键id就自动增1,如下所示
1 create table customers -- 创建客户表 2 ( 3 id int auto_increment primary key not null, -- auto_increment:自增长 4 name varchar(15) 5 ); 6
2)测试(实例)
1 insert into customers(name) values("张三"),("李四");-- 向客户表中插入数据 2 3 select * from customers; -- 查询客户表
2、Oracle
1)建表
1 create table student
2 (
3 id number not null, -- 主键
4 name varchar2(20),
5 birthday
date, 6 age number(20), 7 phone varchar2(60), 8 email varchar2(10) 9 ) 10 alter table student add constraint student_pk primary key (id); -- 主键
2)创建序列
1 /*
2 --创建序列Sequence
3 create sequence student_id
4 minvalue 1 --最小值
5 nomaxvalue --不设置最大值(由机器决定),或 根据表字段的值范围设置 maxvalue 6 maxvalue 99999999 -- 最大值
7 start with 1 --从1开始计数,数值可变
8 increment by 1 --每次加1,数值可变
9 nocycle --一直累加,不循环
10 nocache; --不建缓冲区。 如果建立cache那么系统将自动读取cache值个seq,这样会加快运行速度;如果在单机中使用cache,或者oracle死了,那么下次读取的seq值将不连贯,所以不建议使用cache。
11 */
12 13
14 -- 创建序列
15 create sequence student_id16 minvalue 1
17 nomaxvalue 18 increment by 1 19 start with 120 nocache;
Oracle sequence序列的创建、修改及删除 详解:http://www.cnblogs.com/dshore123/p/8269537.html
3)创建触发器 (以下三种方式都行)
格式:
create or replace trigger 触发器名before insert on 表名 for each row when (new.表的自增长字段 is null)beginselect 序列名.Nextval into:new.表的自增长字段 from dual;end;
1 -- 方式一 2 create or replace trigger tg_insertId3 before insert on student for each row when (new.id is null) -- 当id为NULL时触发 4 begin5 select student_id.Nextval into:new.id from dual;6 end; 7 8 9 -- 方式二 10 create or replace trigger tg_insertId 11 before insert on student for each row 12 begin 13 select student_id.Nextval into:new.id from dual; 14 end;151617 -- 方式三18 create or replace trigger tg_insertId19 before insert on student for each row 20 declare -- 声明21 -- 局部变量(student表里的字段)22 begin23 if updating then24 insert into student 25 values(student_id.nextval,26 :old.name,27 :old.sal, -- 假如student表 有该字段(举例、模板、样式)28 :old.sex -- 假如student表 有该字段29 );30 end if;31 end;
4)测试(实例)
1 INSERT INTO student(name,birthday,age,phone,email) 2 VALUES('zhangsan',to_date('2018-01-10 19:55:45','yyyy-MM-dd hh24:mi:ss'),18,'13510086110','123456789@qq.com'); -- 插入数据34 INSERT INTO student(name,birthday,age,phone,email) 5 VALUES('zhangsan',to_date('2018-01-11 19:55:45','yyyy-MM-dd hh24:mi:ss'),20,'13510086110','123456789@qq.com');6 7 8 select * from student; -- 查询学生表
或者
1 insert into student(seq,name,birthday,age,phone,email) -- 这是带上“自增长主键(seq)”的写法 2 values(student_id.Nextval,'zhangsan',to_date('2018-01-10 19:55:45','yyyy-MM-dd hh24:mi:ss'),18,'13510086110','123456789@qq.com');
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:http://www.cnblogs.com/dshore123/p/8267240.html 欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |
检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苗语英语荷兰语菲律宾语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语 | 世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苗语英语荷兰语菲律宾语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语 |
选项 : 历史 : 反馈 : Donate | 关闭 |
转载于:https://www.cnblogs.com/dshore123/p/8267240.html
MySQL 和 Oracle 主键自增长相关推荐
- sqlserver新增主键自增_深入Mysql,SqlServer,Oracle主键自动增长的设置详解
1.把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: create table customers(id i ...
- 深入Mysql,SqlServer,Oracle主键自动增长的设置详解
1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: 复制代码 代码如下: create table c ...
- Mysql,SqlServer,Oracle主键自动增长的设置
Mysql,SqlServer,Oracle主键自动增长的设置 参考文献 http://blog.csdn.net/andyelvis/article/details/2446865 1.把主键定义为 ...
- MySQL与Oracle主键Query性能测试结果
MySQL与Oracle主键Query性能测试结果 From:DBA同事的测试结果 为了让大家更详细的了解Oracle和MySQL的差异和适用场景,为数据库选型提供帮助,我们对MySQL和Oracle ...
- oracle主键自动增长
oracle的主键没有自动怎样功能,小编今天给大家说说怎样设置主键自动增长: 1.创建表: create table tb_user ( id NUMBER(10) not null, createt ...
- mysql sql 设置主键自动增长_Mysql、Sql Server、Oracle主键自动增长的设置
1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: create table customers(id ...
- mysql sql 设置主键自动增长_Mysql,SqlServer,Oracle主键自动增长的设置
在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: CREATE TABLE google(id INT AUTO_INCREMENT PRIMARY ...
- MySQL与Oracle主键冲突解决方式
1.MySQL主键冲突 当主键冲突时,可以选择更新或替换 1.1 主键冲突 主键冲突: mysql> desc my_class; +-------+-------------+------+- ...
- Mysql:设置主键自动增长起始值
实现目标:mysql下将自增主键的值,从10000开始,即实现自增主键的种子为10000. 方案1)使用alter table `tablename` AUTO_INCREMENT=10000 创建自 ...
最新文章
- Android复习01(内部存储、外部存储、SD卡存储、XML解析、Json解析、保存登录密码)
- 使用 MarkDown DocFX 升级 Rafy 帮助文档
- html5表白页面3d,七夕节表白3d相册制作(html5+css3)
- 超过马云!中国第二大富豪诞生:年仅40岁,财富已达3200亿
- linux文件复制和移动
- python与数据思维基础笔记第一章_python学习笔记-第1章节 基础知识
- 48 款数据可视化分析工具大集合
- 垂直和水平滑动刻度尺
- Java基础教程-01-Java简介与变量介绍
- CentOS下常用软件开机自启动脚本
- 深入剖析Spring(一)——IoC的基本概念(从面向对象角度介绍)
- 点击导航栏切换不同的页面
- 计算机网络实验入门一
- 剑指offter Java单链表反转
- Excel中的VBA学习--简易上手VB的程序
- 诗人贺伟陪你看世界杯
- java如何把汉字转拼音
- 解决Adobe cs6系列软件在Windows10操作系统中无法正常运行问题
- rust腐蚀网页游戏_Rust腐蚀游戏中的12个实用小技巧
- 指数矩阵(exponential matrix)
热门文章
- golang mysql大量写入_Golang 实现分片读取http超大文件流和并发控制
- python+selenium自动登录qq空间并下载相册
- oracle 物理读,逻辑读的理解
- 平切分,分库,分表,主从,集群 数据库水平切分的实现原理解析
- 出现“ORA-28000:the account is locked”的解决办法
- 云计算开发教程:Python自动化运维开发实战流程控制
- Spark RDD的默认分区数:(spark 2.1.0)
- Linux使用imagemagick的convert命令压缩图片、节省服务器空间
- Oracle笔记之表空间
- “进度条”博客——第四周