精华内容
下载资源
问答
  • mysql设置两个主键
    万次阅读
    2017-03-09 11:02:55



    查看字段属性:

    describe t_poorderprocess

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


    更多相关内容
  • mysql设置2个主键

    千次阅读 2022-04-21 15:56:05
    其次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));及...

    我之前一直认为主键的值是不能相同的,但是!当有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建表时怎么设置主键

    千次阅读 2021-03-04 02:44:07
    设置方法:在“CREATE TABLE”语句中,通过“PRIMARY KEY”...主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置...

    设置方法:在“CREATE TABLE”语句中,通过“PRIMARY KEY”关键字来指定主键,语法格式“字段名 数据类型 PRIMARY KEY [默认值]”或“[CONSTRAINT 约束名] PRIMARY KEY 字段名”。

    d43e6b7cdc120658bec968a5607cc3a4.png

    主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键。

    (推荐教程:mysql视频教程)

    在创建表时设置主键约束

    在创建数据表时设置主键约束,既可以为表中的一个字段设置主键,也可以为表中多个字段设置联合主键。但是不论使用哪种方法,在一个表中主键只能有一个。下面分别讲解设置单字段主键和多字段联合主键的方法。

    1)设置单字段主键

    在 CREATE TABLE 语句中,通过 PRIMARY KEY 关键字来指定主键。

    在定义字段的同时指定主键,语法格式如下: PRIMARY KEY [默认值]

    例 1

    在 test_db 数据库中创建 tb_emp3 数据表,其主键为 id,SQL 语句和运行结果如下。mysql> CREATE TABLE tb_emp3

    -> (

    -> id INT(11) PRIMARY KEY,

    -> name VARCHAR(25),

    -> deptId INT(11),

    -> salary FLOAT

    -> );

    Query OK, 0 rows affected (0.37 sec)

    mysql> DESC tb_emp3;

    +--------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +--------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(25) | YES | | NULL | |

    | deptId | int(11) | YES | | NULL | |

    | salary | float | YES | | NULL | |

    +--------+-------------+------+-----+---------+-------+

    4 rows in set (0.14 sec)

    或者是在定义完所有字段之后指定主键,语法格式如下:[CONSTRAINT ] PRIMARY KEY [字段名]

    例 2

    在 test_db 数据库中创建 tb_emp4 数据表,其主键为 id,SQL 语句和运行结果如下。mysql> CREATE TABLE tb_emp4

    -> (

    -> id INT(11),

    -> name VARCHAR(25),

    -> deptId INT(11),

    -> salary FLOAT,

    -> PRIMARY KEY(id)

    -> );

    Query OK, 0 rows affected (0.37 sec)

    mysql> DESC tb_emp4;

    +--------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +--------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(25) | YES | | NULL | |

    | deptId | int(11) | YES | | NULL | |

    | salary | float | YES | | NULL | |

    +--------+-------------+------+-----+---------+-------+

    4 rows in set (0.14 sec)

    2)在创建表时设置联合主键

    所谓的联合主键,就是这个主键是由一张表中多个字段组成的。

    比如,设置学生选课数据表时,使用学生编号做主键还是用课程编号做主键呢?如果用学生编号做主键,那么一个学生就只能选择一门课程。如果用课程编号做主键,那么一门课程只能有一个学生来选。显然,这两种情况都是不符合实际情况的。

    实际上设计学生选课表,要限定的是一个学生只能选择同一课程一次。因此,学生编号和课程编号可以放在一起共同作为主键,这也就是联合主键了。

    主键由多个字段联合组成,语法格式如下:PRIMARY KEY [字段1,字段2,…,字段n]

    注意:当主键是由多个字段组成时,不能直接在字段名后面声明主键约束。

    例 3

    创建数据表 tb_emp5,假设表中没有主键 id,为了唯一确定一个员工,可以把 name、deptId 联合起来作为主键,SQL 语句和运行结果如下。mysql> CREATE TABLE tb_emp5

    -> (

    -> name VARCHAR(25),

    -> deptId INT(11),

    -> salary FLOAT,

    -> PRIMARY KEY(id,deptId)

    -> );

    Query OK, 0 rows affected (0.37 sec)

    mysql> DESC tb_emp5;

    +--------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +--------+-------------+------+-----+---------+-------+

    | name | varchar(25) | NO | PRI | NULL | |

    | deptId | int(11) | NO | PRI | NULL | |

    | salary | float | YES | | NULL | |

    +--------+-------------+------+-----+---------+-------+

    3 rows in set (0.14 sec)

    相关推荐:php培训

    展开全文
  • MySQL数据库中指定的两个主键

    千次阅读 2021-01-27 07:07:41
    我正在尝试创建一测试数据库,它是预先存在的数据库的副本....在模型中,表中的一表有两列标识为主键.column1 = models.IntegerField(primary_key = True)column2 = models.IntegerField(prima...

    我正在尝试创建一个测试数据库,它是预先存在的数据库的副本.我正在使用Django模型(理论上与原始数据库一起使用的模型)来执行此操作.我最近继承了其他人的代码,并试图弄清楚代码到底发生了什么.

    在模型中,表中的一个表有两列标识为主键.

    column1 = models.IntegerField(primary_key = True)

    column2 = models.IntegerField(primary_key = True)

    column3 = models.CharField(max_length = 30)

    当我尝试将此模型同步到测试数据库时 – 发生错误:

    File “/somePathHere/MySQLdb/connections.py”, line 36, in defaulterrorhandler raise errorclass, errorvalue

    _mysql_exceptions.OperationalError: (1068, ‘Multiple primary key defined’)

    在django docs中写的是Django不允许多个主键.但是,查看原始MySQL数据库中DESCRIBE [tablename]的输出,看起来就是这里正在发生的事情:

    +------------+------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +------------+------------+------+-----+---------+-------+

    | IDENTIFIER | bigint(20) | NO | PRI | NULL | |

    | TIMESTAMP_ | bigint(20) | NO | PRI | NULL | |

    | VALUE_ | longtext | YES | | NULL | |

    +------------+------------+------+-----+---------+-------+

    请注意,IDENTIFIER和TIMESTAMP_都列为主键.

    我在SO(Example 1,Example 2和Example 3)上看到很多关于基于多列创建主键的主题 – 我看到的是复合键吗?在这种情况下,如何通过Django模型进行中继,即如何复制它?

    如果它不是复合键,它是什么?

    展开全文
  • 1.主键、联合主键、外键 1.什么是主键 主键是在多条记录中用于确定一条记录时使用的标识符。...# 对于第二种方式,当创建多个主键(联合主键)时,中间用`,`分割 create table t_key ( id int, n
  • mysql如何给表设置组合主键

    千次阅读 2021-01-19 05:37:30
    mysql 中有时候会遇到多字段来表示数据的唯一性,那么这里就会用到组合主键了。相关mysql视频教程推荐:《mysql教程》1.编写创建表sql代码;2.设置联合主键;3.执行代码,发现出现错误;4.解决方案:给id自增列加...
  • mysql设置主键有什么用

    千次阅读 2021-01-19 06:36:18
    【相关学习推荐:mysql教程】mysql设置主键的作用是:1、什么是主键数据库主键,指的是一列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。主键主要是用于其他表的外键关联,以及本...
  • MySQL索引之主键索引

    2020-12-15 16:43:01
    一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。 在MySQL中,InnoDB数据表的主键设计我们通常遵循几个原则: 1、采用一个没有业务用途的自增属性列作为主键; 2、主键字段值总是不更新,只有...
  • 设置MySQL数据表主键

    千次阅读 2021-01-28 00:39:07
    设置MySQL数据表主键:使用“primary key”关键字创建主键数据列。被设置主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合。如下SQL语句所示:Mysql>createtablebooks(bookidint(11)...
  • 什么是主键主键是表中唯一标识该表中每个元组(行)...在上面的示例中,roll_number属性永远不能具有相同的NULL值,因为在每个大学中注册的学生都拥有唯一的Roll_number,因此两个学生不能拥有相同的Roll_number,并
  • mysql建表时设置主键的方法

    千次阅读 2021-02-02 09:04:51
    mysql建表时设置主键的方法发布时间:2020-10-10 15:17:28来源:亿速云阅读:119作者:小新mysql建表时设置主键的方法?这问题可能是我们日常学习或工作经常见到的。希望通过这问题能让你收获颇深。下面是小编给...
  • mysql如何添加主键

    千次阅读 2021-01-18 18:15:25
    “主键(PRIMARY KEY)”的完整称呼是“主键约束”。...主键约束即在表中定义一个主键来唯一确定表中每一行数据的标识符。主键可以是表中的某一列或者多列的组合,其中由多列组合的主键称为复合主键。主键应该...
  • 而且有一个神奇的现象(注意光标),鼠标单击两个重复字段的上面那个时,是这样子的: ![图片说明](https://img-ask.csdn.net/upload/201801/22/1516624085_804989.png) 但是我点击下面那个时,却是这样的: ![图片...
  • mysql 语句添加id主键,并设置自增

    千次阅读 2021-12-20 16:53:15
    1、ALTER TABLE ... 如果以前有主键的话: ALTER TABLE `student` DROP PRIMARY KEY, ADD PRIMARY KEY(`id`); 2、ALTER TABLE student CHANGE id id INT(11) NOT NULL AUTO_INCREMENT; PS: 条语句顺序不能变。
  • 1、声明主键的方法:您可以在创建表的时候就为表加上主键,如:CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name));.../*创建一qq表,将qq_id设为主键,且没有对其进行NOT...
  • MySQL基础之 主键外键设置

    千次阅读 2021-02-02 09:37:23
    外键:定义:如果表A的主关键字是表B中的字段,则该字段...条件:1、创建外键的两个表,父表与子表必须是InnoDB存储引擎。2、创建外键的时候,父表要创建索引,一般为主键索引。子表在创建外键的时候也必须要创建索...
  • 一个数据库表只能有一个主键,不允许两个主键。但是允许两个字段联合起来设置为主键,这叫联合主键。创建主键的方式如下:12ALTER TABLE 选课表 ADD CONSTRAINT pk_选课表 PRIMARY KEY(学号);创建联合主键的...
  • mysql数据库外键、主键详解

    千次阅读 2021-01-18 18:41:25
    一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,...
  • mysql创建联合主键

    千次阅读 2022-01-17 11:21:53
    mysql中,每张表中有且只能一个主键,但是联合主键可以有很多! mysql创建联合主键 create table mytable ( -> a int, -> b char(10), -> c date, -> primary key (a,b); 因此,在mytable中,a,b两个...
  • 表已有数据,truncate 之后再设置 auto_increment 可行 将表 tf_user 的主键自增起始值为 2 truncate table `tf_user`; alter table tf_user AUTO_INCREMENT=2; 表已有数据,delete from 之后再设置 auto_increment...
  • mysql中的多主键

    万次阅读 2019-07-05 17:40:28
    最近在学习mysql的时候发现关于多主键的一问题。 google中的一结果得到说 主键 就是unique 和 not null的结合,但经过试验之后发现,在细节上,二者是有差异的。 假设这样一情况: 一用户表,用户ID和...
  • mysql添加联合主键

    万次阅读 2020-08-19 13:53:41
    联合主键,指的是把两个列看成是一个整体,这个整体是不为空,唯一,不重复 1.创建表的同时创建联合主键 格式: create table 表名( 列名1 数据类型, 列名2 数据类型, constraint 主键约束的名字 primary key...
  • 概念: ...主键约束(primary key) PK 自增长约束(auto_increment) 非空约束(not null) 唯一性约束(unique) 默认约束(default) 零填充约束(zerofill) 外键约束(foreign key) FK 主键约束 My
  • MySQL联合主键自增分别产生递增id

    千次阅读 2018-11-10 19:30:11
    比如员工表,要在部门内递增生成编号 ,...有了这id之后,就可以与dept一起组装出"财务部001"这样的user_no_name。   注意,设联合主键的顺序很关键,自增长的字段(id)要放在最后        
  • MySql的复合主键和联合主键的介绍

    千次阅读 2021-08-16 15:19:15
    我的个人博客 百度搜索:【迷你酷吧】网址:https://www.minikuba.com,迷你酷吧是一基于程序员经验为基础分享技术...复合主键 CREATE TABLE stu_detail( id INT NOT NULL AUTO_INCREMENT, age INT COMMENT '学生年龄
  • 始终保持两个数据库数据一致。 主要有主备方式、双主方式;本文介绍双主的配置简单实现过程,实现双主互备,双主都可以写入;实现简单的负载均衡。Mysql双主的优点:可以做灾备,比如某台服务器宕机了,可以通过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 219,604
精华内容 87,841
关键字:

mysql设置两个主键

mysql 订阅