精华内容
下载资源
问答
  • 主键mysql表创建主键

    千次阅读 2018-12-26 08:49:23
    那么,以前留下来的需要重新建立主键,但是这里可能会遇到一些,你无法选出一些字段组合,作为主键。那么这时该怎么办? 一般出现这种情况,首先你需要考虑:该数据是否是分区? 怎么查看是分区还是非分区...

    这是笔者在实际工作过程中遇到的问题。
    背景:
    由于一些原因,导致以前的数据库中的一些表是没有主键的,这样在主库执行批量删除和更新时,备库无法追上主库

    那么,以前留下来的表需要重新建立主键,但是这里可能会遇到一些表,你无法选出一些字段组合,作为主键。那么这时该怎么办?

    一般出现这种情况,首先你需要考虑:该数据表是否是分区表?

    怎么查看是分区表还是非分区表:

    语法:

    SHOW CREATE TABLE 表名;
    

    该语法可以看到建表语句,通过建表语句你可以很直观的看到是否为分区表,且分区字段是什么。

    那么,回到原来的问题:如何为已建的数据表建立主键?这里就分为两种情况:分区表和非分区表。

    因为,分区表的分区字段必须包含在主键内

    1 非分区表

    新增主键自增长id

    语法:以数据库表为test_table为列

    alter table test_table add id BIGINT(30);
    alter table test_table change id id BIGINT(30) not null AUTO_INCREMENT PRIMARY KEY;
    

    2 分区表

    新增主键自增长id

    语法:以数据库表为partition_table为列,该分区表的分区字段为:Day

    alter table partition_table add id BIGINT(30) not null auto_increment ,add primary key(id,`Day`);
    
    展开全文
  • 建表时创建 方法一 create table tmp_t10 ( c0 varchar2(100) not null primary key, c1 varchar2(100) ) ; 方法二 create table tmp_t10 ( c0 varchar2(100), c1 varchar2(100) ) ; -- Create/Recreate ...

    建表时创建

    方法一

    create table tmp_t10
    (
      c0 varchar2(100) not null primary key,
      c1 varchar2(100)
    )
    ;
    
    

    方法二

    create table tmp_t10
    (
      c0 varchar2(100),
      c1 varchar2(100)
    )
    ;
    
    -- Create/Recreate primary, unique and foreign key constraints 
    alter table tmp_t10
      add constraint pk_tmp_t10 primary key (C0) ;
      
    

    建表后添加

    create table tmp_t10
    (
      c0 varchar2(100) primary key,
      c1 varchar2(100)
    )
    ;
    
    

    方法一

    -- Create/Recreate primary, unique and foreign key constraints 
    alter table tmp_t10
      add constraint pk_tmp_t10 primary key (C0);
    
    

    方法二(推荐)

    create unique index pk_tmp_t10 on tmp_t10(c0) parallel 4 online;
    
    alter table tmp_t10 add constraint pk_tmp_t10  primary key(c0) using index pk_tmp_t10;
    
    alter index pk_tmp_t10 noparallel;
    
    
    展开全文
  • 像使用MSSqlServer数据库创建表是给主键字段设置自增属性,就很难找到入口。 直接开始教程: 选择要创建表的数据库,右键新建跳转到设计页面。 在倒数第二列那个叫 键 的那一列 点击勾选一下 则为此字段设置...

    Navicat15虽说功能强大,但是有好些操作还是不是很方便。像使用MSSqlServer数据库创建表是给主键字段设置自增属性,就很难找到入口。

    直接开始教程:

    • 选择要创建表的数据库,右键新建表跳转到设计表页面。

    选择要创建表的数据库,右键新建表跳转到设计表页面。

    • 在倒数第二列那个叫 键 的那一列 点击勾选一下 则为此字段设置为主键

    在这里插入图片描述

    • 勾选主键后不要急,然后点击选项跳转到另一个设置页面

    注意了,要在创建的字段的时候一起把自增设置好,创建完表后再去设置就无法设置了
    勾选主键后不要急,然后点击选项跳转到另一个设置页面

    • 选中主键字段 Id 标识种子就是起始值 标识增量就是递增数 1 就是自增+1 2就是自增+2
      注意:字段必须是int类型

    选中主键字段 Id 标识种子就是起始值 标识增量就是递增数 1 就是自增+1  2就是自增+2

    • 设置好之后保存

    设置好之后保存

    • 现在随便加俩字段然后点击 左上角 保存 Ctrl+S 也可

    现在随便加俩字段然后点击 左上角 保存  Ctrl+S 也可

    • 可以了,输入另外两个字段名,主键Id自动递增自己变

    可以了,输入另外两个字段名,主键Id自动递增自己变

                                                                                  Ppdan 2020.8.22
    
    展开全文
  • 主键

    千次阅读 2014-12-18 09:18:23
    添加或更改主键主键是具有整个中唯一值的一个字段或一组字段。键值可用于引用整条记录,因为每条记录都具有不同的键值。每个只能有一个主键。 若要设置主键,请在设计视图中打开。选择要使用的字段...
    添加或更改表的主键:主键是具有整个表中唯一值的一个字段或一组字段。键值可用于引用整条记录,因为每条记录都具有不同的键值。每个表只能有一个主键。

    若要设置表的主键,请在设计视图中打开表。选择要使用的字段,然后在功能区上单击“主键”。

    什么是好的主键?
    一个好的候选主键具有以下几个特征:

    1、唯一标识每一行

    2、从不为空或为 Null,即它始终包含一个值 

    3、所包含的值几乎不(理想情况下永不)改变


    如果无法识别好的键,则创建“自动编号”字段用作键。“自动编号”字段在首次保存每条记录时,会自动为自己生成一个值。因此,“自动编号”字段满足一个好的主键的所有三个特征。

    较差主键的示例:
    缺少一个或多个好的候选主键特征的任何字段对于主键都是糟糕的选择。下面是会让“联系人”表的主键成为较差主键的几个字段示例,以及成为糟糕选择的原因。

    复合键:将多个字段组合在一起作为主键使用

    在某些情况下,您想要使用表中的两个或多个字段作为主键。


    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD PRIMARY KEY (Id_P)
    如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

    ALTER TABLE Persons
    ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
    注释: 如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。

    展开全文
  • 表创建主键 外键 创建表时 以创建user为例 : create table user( id int PRIMARY KEY auto_increment, name VARCHAR(20), age int, birthday date, dept_id int, constraint emp_deptid_fk foreign key(dept_id...
  • alter table 表名 drop constraint 主键名 --添加主键 alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……) --添加非聚集索引的主键 alter table 表名 add constraint 主键名 primary ...
  • oracle创建表空间、主键、外键、序列
  • --删除主键alter table 表名 drop constraint 主键名--添加主键alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)--添加非聚集索引的主键alter table 表名 add constraint 主键名 primary ...
  • Oracle数据库创建表tuser设置主键自动增长,先创建表,然后创建基于该的队列。
  • 数据库pl/sql,sql数据库,建立表主键,和insert及update
  • oracle_创建表空间、主键、外键、序列.docx
  • 数据库如何创建表主键,格式为当前日期+当日当前数量,例:201712120001,工具phpmyadmin。
  • python flask 创建表主键设置自增长

    千次阅读 2019-06-03 20:30:06
    创建模型字段设置id自增长代码如下: Id = db.Column(db.Integer, autoincrement=True, primary_key=True, nullable=False) 完整 python 代码如下以下是 flask 的基础入门学习: from flask import Flask from ...
  • 删除表主键 建立联合主键

    千次阅读 2013-10-16 10:12:14
    删除主键:Alter table tableName drop constraint keyName(主键名称) 建立联合主键:Alter table tableName add constraint name_no(主键名称) primary key (name,no)(主键字段)
  • oracle中创建表主键id依据sequence自增长
  • 在数据库中创建一个的时候,是使用一个无业务意义的ID作为主键好呢,还是以具备业务意义且唯一的字段为主键好?(如果以无业务意义的ID为主键的话,则打算对业务字段创建索引)大家喜欢哪种方式作为主键呢?
  • PostgreSQL创建表并设置主键自增

    千次阅读 2020-01-03 09:53:13
    MySQL 设置主键自增策略比较简单 只需要创建表的时候使用关键字AUTO_INCREMENT就可以完成主键自增。但是pg数据库不同于mysql,之前试了 SERIAL 结果并不管用。 这里只记录给已创建加入主键自增(适用性广些) 说道...
  • 主要介绍了Spring Data JPA 建立表的联合主键。本文详细的介绍了2种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • use TestDBgocreate table student ( sno int primary key, sname char(10) not null, gender char(2), age tinyint, smobile char(11), semail varchar(50) ...--标识主键格式constraint PK_sno ...
  • 主键自增长表创建

    2017-07-06 21:21:39
    用于oracle新手解决主键如何实现自增长,结构设计的示例
  • 增加主键,先判断是否存在主键增加主键,同时需要判断该是否存在主键,也需要处理将该字段先处理为不为null。如下处理: 1 GO 2 IFNOTEXISTS(select1fromsysobjectswherextype='PK'andparent_...
  • DB2创建表 主键自增长

    千次阅读 2014-05-10 22:45:10
    比如建立一张客户,如果客户希望以电话作为主键唯一标示一列,并且业务逻辑上也说的通,但是 在以下两方面可能是有问题的 1.电话是一个字符串,作为主键没有数字型主键效率高。 2.电话可能会变动,如果一个客户...
  • 将一张主键作为外键关联到另一张中1、外键的介绍2、使用Navicat创建外键3、外键的维护关系设定 1、外键的介绍 设置外键的作用很明显,就是讲两个的数据产生关联,就比如个人信息和部门之间,部门的...
  • oracle创建表主键

    千次阅读 2015-12-15 16:46:31
    ALTER TABLE qpxx ADD CONSTRAINT qpxx_qpxtbh_pk PRIMARY KEY (qpxtbh);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 401,796
精华内容 160,718
关键字:

创建表加主键