精华内容
下载资源
问答
  • mysql 设置两个主键

    万次阅读 2017-03-09 11:02:55
    修改主键字段(如果已有,需要先drop掉已有主键) alter table t_poorderprocess add primary key(FRQInterID,FRQEntryID) 查看字段属性: describe t_poorderprocess 修改主键字段 alter table t_



    查看字段属性:

    describe t_poorderprocess

    修改主键字段(如果已有,需要先drop掉已有主键)
    alter table t_poorderprocess add primary key(FRQInterID,FRQEntryID)


    展开全文
  • mysql设置个主键

    万次阅读 2019-01-29 11:17:48
    user表,身份证号码要唯一,手机号码,邮箱要唯一,实现方式: 表结构不用动。一个主键Id 加索引实现  如图类型设置索引类型为Unique 唯一 选择栏位,命个名就行。索引方式btree 就好。ok啦~...

    user表,身份证号码要唯一,手机号码,邮箱要唯一,实现方式:

    表结构不用动。一个主键Id   加索引实现

     如图类型设置索引类型为Unique  唯一   选择栏位,命个名就行。索引方式btree 就好。ok啦~

    展开全文
  • mysql设置2个主键

    万次阅读 2017-08-25 22:04:08
    我之前一直认为主键的值是不...其次mysql不能这样设置2个主键create table hello(id int primary key,name varchar(40) primary key);会报错!!! 应该是create table hello(id int,name varchar(20),CONSTRAINT 别名

    我之前一直认为主键的值是不能相同的,但是!当有2个主键或者以上的时候,可以有些主键是相同的

    其次mysql不能这样设置2个主键create table hello(id int primary key,name varchar(40) primary key);会报错!!!

    应该是create table hello(id int,name varchar(20),CONSTRAINT 别名 PRIMARY KEY (id,name));及联合主键

    展开全文
  • MySql设置唯一标识主键设置

    千次阅读 2018-10-29 11:55:53
    : 如果我们不只是修改单一列,而是用一条语句改变两个列,我们需要修改列的名称,同时更改他们的数据类型,这时就需要我们用到关键字CHANGE,可以在一条语句中放入多个CHANGE,在中间加上分隔的逗号即可。 比如原来...

    建立表

    create table user_score( 
    name char(10) not null default “”, 
    score smallint not null default 0 
    );
    

    增加一列

    alter table user_score add column id smallint after name; ( 不要引号) 
    alter table user_score add column idea smallint;
    

    主键&唯一键

    • 主键不能为空 唯一键可以为空
    • 主键only能有一个 唯一键可以有多个
    • 主键可以多个列和并起来作为一个 唯一键不行

    //在数据库表中 只有设置一个int类型的字段为主键,才可以设这个字段为标识列,标识列的作用就是一个可以自动增长的数字,如消息id,唯一并且不重复,是消息唯一标识

    设置主键

    alter table user_score add primary key(id);

    删除主键需要两步.

    1. 如果有auto_increment,先删除之; alter table user_score change id id int;
    2. 删除主键约束 primary key. alter table user_score drop primary key;

    设置唯一约束

    alter table user_score add column idea smallint auto_increment;// error一个表只能有一个自增列. 
    alter table user_score add column idea smallint default 0 unique; // 不好,这样往里面加数据的时候,如果不指定输入新加入的这一列,他就会被置为0,再加一个不指定的就会报错了 
    alter table user_score add unique(name); 
    //取消某一列的唯一约束 
    alter table user_score drop index idea;
    
    

    设置某一列自增

    1. 设置它为主键 alter table user_score add primary key(id);
    2. 修改它为自增 alter table user_score change id id smallint auto_increment;
      tip: 因为自增默认值是1,所以如果此前已经有值为1的数据,那么会报错。当设置那个值为非1的值保证该列没有值为1后,设置自增才会成功,且他会把原来的都从1开始更新一遍。

    //取消自增

    alter table user_score modify column id int;

    //修改自增初始值

    alter table user_score auto_increment = 2;

    MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为设置为一种“键(key)”(没有插入成功,但是自增长序列,还是会用一次增长)。主键(primary key)是键(key)的一种,key还包括外键(foreign key)、唯一键(unique key)等1. 将自动增长字段设置为主键。

    1. create table t1 (id int auto_increment Primary key,sid int);
    2. 将自动增长字段设置为非主键,注意必须显式添加Unique键。
      create table t2 (sid int primary key,id int auto_increment Unique);
    3. 将自动增长字段设置为非主键如果未添加唯一索引将会报错**,如下面语句
      create table t3 (sid int primary key,id int auto_increment)。

    设置某一列的默认值

    1. 若本身已经有默认值,先删除默认值
      alter table user_score alter score drop default;
    2. 设置默值
      alter table user_score alter score set default 60;

    关于change modify alter的使用

    假如我们现在有一张表

    在这里插入图片描述
    要改成:
    在这里插入图片描述
    用一条ALTER语句实现:

    ALTER TABLE hooptie
    RENAME TO car_table,
    ADD COLUMN car_id INT NOT NULL AUTO_INCREMENT FIRST,
    ADD PRIMARY KEY(car_id),
    ADD COLUMN VIN VARCHAR(16)AFTER car_id,
    CHANGE COLUMN mo model VARCHAR(20),
    MODIFY COLUMN color AFTER model,
    MODIFY COLUMN year SIXTH,
    CHANGE COLUMN howmuch price DECIMAL(7,2);
    

    CHANGE: 如果我们不只是修改单一列,而是用一条语句改变两个列,我们需要修改列的名称,同时更改他们的数据类型,这时就需要我们用到关键字CHANGE,可以在一条语句中放入多个CHANGE,在中间加上分隔的逗号即可。

    比如原来的表两列,类型为VARCHAR(50),和VARCHAR(10),现在不止要更改列名,还要更改这两列的类型。
    在这里插入图片描述

    ALTER TABLE project_list
    CHANGE COLUMN descriptionofproj proj_desc VARCHAR(100),
    CHANGE COLUMN contractoronjob con_name VARCHAR(30);
    

    MODIFY: 使用它可以只修改列的类型而不会干涉它的名称,假设要把proj_desc列的字符长度修改为VARCHAR(120)以容纳更多的说明文字,只要这么做就可以。

    ALTER TABLE project_list
    MODIFY COLUMN proj_desc VACHAR(120);
    #proj_desc是要修改的列名,VARCHAR(120)是新的数据类型
    
    总结如下
    • 既更改列名也更改类型,用CHANGE
    • 只修改类型,用MODIFY
    展开全文
  • mysql设置联合主键

    千次阅读 2019-12-13 12:28:51
    用2个字段(或者多个字段组合)来确定一条记录,说明:这2个字段可以分别重复,但不能两个同时重复。 设置: 新建查询输入如下语句: alter table tb_name add primary key (字段1,字段2,字段3); 运行后效果: ...
  • 一个数据库表只能有一个主键,不允许两个主键。但是允许两个字段联合起来设置为主键,这叫联合主键。创建主键的方式如下:12ALTER TABLE 选课表 ADD CONSTRAINT pk_选课表 PRIMARY KEY(学号);创建联合主键的...
  • MySQL自增主键详解

    万次阅读 多人点赞 2019-06-02 10:02:16
    2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值max(id),然后将max(id)+步长作为这表当前的自增值 select max(ai_...
  • 如何设置个主键
  • MySql设置主键,外键命令

    千次阅读 2019-09-27 20:48:46
    设置主键命令 : 在一开始建表的时候就要设置主键 studentID INT auto_increment PRIMARY KEY, 把已经建好的表的某一列设置主键 ...设置外键命令: ...(1)外键是用于两个表的数据之间建立连接...
  • MySql设置唯一标识,主键设置

    万次阅读 2018-07-23 12:16:34
    :如果我们不只是修改单一列,而是用一条语句改变两个列,我们需要修改列的名称,同时更改他们的数据类型,这时就需要我们用到关键字CHANGE,可以在一条语句中放入多个CHANGE,在中间加上分隔的逗号即可。 比如原来...
  • mysql中的多主键

    万次阅读 2019-07-05 17:40:28
    最近在学习mysql的时候发现关于多主键的一问题。 google中的一结果得到说 主键 就是unique 和 not null的结合,但经过试验之后发现,在细节上,二者是有差异的。 假设这样一情况: 一用户表,用户ID和...
  • 这个问题也是请教别人才得知的, 在elasticsearch 无法...比如本来想设置两个主键,分别是NAME 和 AGE 。 ID的生成规则就可以写成 NAME_AGE,这样就实现了MYSQL数据库中的联合主键。 日常记录下,避免以后遗忘 ...
  • MySQL查询之 联合主键

    千次阅读 2020-03-05 14:04:17
    我们知道MySQL的主键是一个非空的,且唯一的键,如果我们需要两个或者多个呢 ...这样我们创建了一个有两个主键的表 我们来插入数据 insert into stu values (1, 'zhangsan', 80); 然后再插入有...
  • MySQL主键

    千次阅读 2018-06-27 11:21:50
    MySQL主键设计 一. MySQL主键设计原则 MySQL主键应当是对用户没有意义的。 MySQL主键应该是单列的,以便提高连接和筛选操作的效率(当然复合主键是可以的,只是不建议) 永远也不要更新MySQL主键 MySQL主键不应...
  • !... 请问一下account list表中的acc_id和acc_bankNum设置为联合主键,怎么将该表acc_bankNum和user list中的acc_bankNum设置为外键 ...(是不是联合主键不能单独一个设置成外键,那么怎么才能设置?还是根本不可以???)
  • 一张表最多能有一个主键。 增加主键 SQL给表增加主键大体有三种: 方案1:在创建表的时候,直接在字段后面跟primary key 关键字。  注意看上面key这列里面属性显示PRI,就表示primary key,主键。...
  • mysql自增长联合主键

    千次阅读 2015-06-23 19:57:59
    今天因为业务需求设计了一个数据库表,表里面包含type和id两个字段,我期望id是根据type来自增长的,也就是说对于不同的type,id都是从1开始自增长的,所以表示这样创建的(数据库用的mysql): create table ...
  • MYSQL中索引与主键的区别

    千次阅读 2019-06-05 18:25:37
    MYSQL中索引与主键的区别 索引:索引好比是一本书的目录,可以快速的通过页码找到你需要的那一页。惟一地标识一行。 主键:做为数据库表唯一行标识,作为...数据库有种查询方式,一全表扫描,条件匹配。一是...
  • 一个数据表,需要两个字段联合起来一块做主键的时候。举例如下: 直接用sql语句的话如下 ALTER TABLE `表名` ADD PRIMARY KEY ( `表中字段名1` , `表中字段名2` ) ; 或者在phpmyadmin中操作,如下图: ...
  • mysql的复合主键创建及删除

    万次阅读 2019-06-19 21:22:26
    摘要: mysql的联合主键:用2字段(或者多字段,后面具体都是用2字段组合)来确定一条记录,说明,这2字段都不是唯一的,2字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。...
  • 两个字段的值都得是唯一的,教师ID是主键varchar类型的,给机器进行数据操作用。 教师编号是方便操作人员阅读和操作的不重复的数字。 解决办法(表已经建好): 1 .讲教师编号(tNO)设置为普通index索引 ALTER ...
  • MySQL中的自增主键用完了怎么办?

    万次阅读 多人点赞 2019-08-25 09:26:21
    面试官:"用过mysql吧,你们是用自增主键还是UUID?" 你:"用的是自增主键" 面试官:"为什么是自增主键?" 你:"因为采用自增主键,数据在物理结构上是顺序存储,性能最好,blabla…" 面试官:"那自增主键达到...
  • 关于mysql的int型主键自增问题

    千次阅读 2020-08-19 09:14:24
    我们在使用mysql数据库时,习惯使用int型作为主键,并设置为自增,这既能够保证唯一,使用起来又很方便,但int型的长度是有限的,如果超过长度怎么办呢? 暴露问题 我们先创建一测试表,创建语句如下: CREATE ...
  • 联合主键主要用处在于,将两个字段名绑定在一起进行主键,即这个主键跟其他行的主键不能相同; 主要适用在:一对多,多对多的情况,单表,多表,中间表都可以使用。 1、创建表 use 数据库名, CREATE TABLE user_...
  • 设置Mysql的自增主键的起始值

    千次阅读 2018-08-31 23:35:04
    天遇到了一表的主键莫名其妙的变成了19位的一串数字,返回给前端时,因为超过js的Number的最大值,所以被截取了,导致数据不一致引起错误,所以想着把主键id的自增序列改回原来的值。 首先要把变大的id删掉,...
  • MySQL中如何将主键默认值设为UUID()

    千次阅读 2020-02-18 23:14:57
    mysql中在设置主键(id)的默认值时,有一下种情况: 当 id 为 int 类型时,可以直接在创建表时设置id为 id primary key auto_increase,即默认 id 为主键自增长。 当 id 为 varchar 类型时,要设置主键id的唯一...
  • 如图:![图片说明]...怎么在这表中设置teachers162里的Teacher_ID 为外键? ![图片说明](https://img-ask.csdn.net/upload/201506/09/1433856532_901555.png)
  • mysql在已有主键的表中新增自增长字段

    千次阅读 热门讨论 2019-09-08 21:11:32
    如标题所示,给数据表加自增长字段是很简单的事情,但是如果这表已经有主键,并且存在数据的情况下,怎么给数据表加自增长主键呢?下面咱们来详细说一下这东东。 1、目标需求: (1)数据表没有id字段,但是有...
  • 问题:Mysql使用联合主键时,每个主键字段都能使用索引吗? 对于这个问题,很多mysql的初学者都是搞不清楚的,今天作者做了一个实验,来验证这个问题,防止在应用环境中不当的使用索引,导致mysql性能下降。 实验...
  • Mysql主键UUID和自增主键区别优劣

    万次阅读 2018-09-04 09:31:24
    引言 之前有段时间用postgresql 数据库,在上云之后,...在mysql5.0之前,如果是多master复制的环境,无法用自增主键,因为可能重复。在5.0以及之后的版本通过配置自增偏移量解决了整个问题。 什么情况下我们希...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 164,968
精华内容 65,987
关键字:

mysql设置两个主键

mysql 订阅