精华内容
下载资源
问答
  • 首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。 我们可以先删除了原来的主键再用TSQL建alter table...
            首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。
             我们可以先删除了原来的主键再用TSQL建   
               alter   table   tablename   add   constraint   pk_name   primary   key   (col1,col2)
              col1,col2代表两个列。

    转载于:https://www.cnblogs.com/ruanbl/articles/498711.html

    展开全文
  • 今天工作,做老项目维护的时候无意发现一张居然有三个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。 难道是我写的有问题,最后通过查资料总终于解决了。 1、数据库的每张只能有一个主键,不...

    今天在工作,做老项目维护的时候无意中发现一张表居然有三个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。疑问

    难道是我写的有问题,最后通过查资料总终于解决了。

    1、数据库的每张表只能有一个主键,不可能有多个主键。

    2、所谓的一张表多个主键,我们称之为联合主键。

         注:联合主键:就是用多个字段一起作为一张表的主键。

    3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

     

    下面聊聊怎么创建联合主键:

     

    1、GUI中同时选中多列,点击设置为主键。

    2、sql语句将多列设置为主键:

     

     一种是在建表时就写出,语句如下:

    Create Table 表名 (字段名1 Int Not Null,
                       字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
                        字段名3…………
                        字段名N………… )

    另一种是在建表后更改,语句如下:

    ALTER TABLE 表名 WITH NOCHECK ADD 
    CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 
    (
      [字段名1],
      [字段名2]
    )
     
    通过以上两种方式就解决了联合主键的问题。

    --------------------- 本文来自 牟鹏 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/for12/article/details/49300843?utm_source=copy

    展开全文
  • mysql设置个主键

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

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

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

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

    展开全文
  • 一张表可以有多少个主键

    万次阅读 多人点赞 2015-10-21 10:20:28
    今天共工作,做老项目维护的时候无意发现一张居然有三个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。 难道是我写的有问题,最后通过查资料总终于解决了。 1、数据库的每张只能有一个主键,...

    今天在共工作,做老项目维护的时候无意中发现一张表居然有三个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。疑问

    难道是我写的有问题,最后通过查资料总终于解决了。

    1、数据库的每张表只能有一个主键,不可能有多个主键。

    2、所谓的一张表多个主键,我们称之为联合主键。

         注:联合主键:就是用多个字段一起作为一张表的主键。

    3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。


    下面聊聊怎么创建联合主键:


    1、GUI中同时选中多列,点击设置为主键

    2、sql语句将多列设置为主键:

     一种是在建表时就写出,语句如下:

    Create Table 表名 (字段名1 Int Not Null,
                       字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
                        字段名3…………
                        字段名N………… )

    另一种是在建表后更改,语句如下:

    ALTER TABLE 表名 WITH NOCHECK ADD 
    CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 
    (
      [字段名1],
      [字段名2]
    )
     
    
    通过以上两种方式就解决了联合主键的问题。



    展开全文
  • 用面向对象的思想来思考的话,联合主键里的复合主键(字段),可以把它看成一个整体,然后采用一个主键类来描述这个复合主键的字段。 这里面主要是一些类的主键是联合主键, 主键是有两个属性构成的 ...
  • ORACLE表设置主键自增

    千次阅读 2018-07-23 15:41:08
    --创建 create table BJ_ZR_LNGWEEKREPORT_GasCompnt( idNumber number primary key, --主键、自增长 gasName NVARCHAR2(100) not null, gasRatio NUMBER(10,2) not null, salesDate DATE ); --创建序列 CREATE ...
  • oracle没有自增字段,可通过序列+触发器间接实现,cmdsqlplus登录,直接运行即可。一般要经过一下步: 1建立数据 create table Test_Increase(  userid number(10) primary key, /*主键,...
  • 主键

    千次阅读 2014-12-18 09:18:23
    添加或更改的主键:主键是具有整个表中唯一值的一个字段或一组字段。键值可用于引用整条记录,因为每条记录都具有不同的键值。每个只能有一个主键。 若要设置表的主键,请设计视图打开。选择要使用的字段...
  • 关于mysql中设置表自增主键从指定序号开始自增 mysql我们经常会出现不小心删除行数据然后再添加数据时自增主键没有从指定数字开始的问题,如图 解决方法 执行以下sql语句可以指定种自增主键的起始序号 ...
  • 创建数据时,想偷个懒,使用一个序列给两个创建主键自增功能,结果。。。。。。情景:为宠物中心创建一个简单的数据库,要求如下:
  • 绿色工具里,可以对多个字段打上主键的标识“锁”,但这并不表示拥有了多个主键,而是说这几个字段共同构成了主键。当然,他们之间也是有次序的。查看次序可以使用show index from table。会看到Key_Name有多...
  • 有关MyBatis主键设置问题

    千次阅读 2017-11-17 11:14:11
    我们知道往数据库插入数据的时候,大多时候会要求数据自动给我们设置一个唯一的主键。 比如MySql的自增主键和UUID(),Oracle的Sequence和SYS_GUID()都是用来生成唯一主键的。那么MyBatis要怎样来使用相应...
  • --新增主键(没有主键字段,则新增一个主键字段,然后赋值,然后再添加主键) alter table REPORT_ABNORAML add ID number(11) null; --删除序列 --drop SEQUENCE SEQ_REPORT_ABNORAML --增加序列 CREATE SEQUENCE SEQ...
  • sql 关于一表个主键唯一性的约束

    万次阅读 2019-02-27 17:28:15
    1.对于一般的,我们只需设一个主键,防止重复,但是我们如果设置个主键,是每个主键都有唯一性吗?还是多个主键组合起来具有唯一性 2.答案肯定是多个主键合起来具有唯一性,话说太多,现在上例子 3.例如,我建...
  • Sql 主键设置

    千次阅读 2018-01-18 08:50:41
    1、开发数据库时常用命名规范 1>、使用不包含数字的单数表名,如果必要的话可以增加模块名前缀。 2>、对于主键的命名,使用表名+ID的...作为一个可以被外部键有效引用的对象。 2>、主键应当对用户没有意义。 3>、
  • MySQL创建设置主键id为uuid

    千次阅读 2020-03-31 15:14:40
    oracel创建uuid为主键可以直接指定...下面是创建一个产品的sql语句。 --建表语句 CREATE TABLE `product` ( `id` varchar(36) NOT NULL, `productNum` varchar(50) NOT NULL, `productName` varchar(...
  • MySql设置主键,外键命令

    千次阅读 2019-09-27 20:48:46
    设置主键命令 : 在一开始建表的时候就要设置主键 studentID INT auto_increment PRIMARY KEY, 把已经建好的的某设置主键 设置外键命令: FOREIGN key(studentName) REFERENCES orders...
  • MySQL为什么需要一个主键

    万次阅读 2017-08-18 11:31:45
    注:创建一个表,创建主键是个良好的习惯或应当作为规范,若预测可能累计大量数据,必须必须必须设置主键,并且应当选择合适的主键,否则你会严重影响到count查询,insert,delete。下面是转载内容,收藏供参考。 ...
  • ORACLE 批量插入 主键为自增序列 有几个字段数据从其他导入的 有几个是固定的insert into CUSTOMERPRODUCTCATEGORY----------目标 (CUSTOMERPRODUCTCATEGORYID,ORIGINALID,WEBSITEID,NAME,PARENTID) select C...
  • 主键设置中的字段类型选择

    千次阅读 2016-10-29 17:00:06
     有些朋友可能不提倡数据库必须要主键,但我的思考,觉得每个表都应该具有主键,不管是单主键还是双主键主键的存在就代表着结构的完整性,的记录必须得有唯一区分的字段,主键主要是用于其他的外键...
  • create table cellPhoneAdd  (  ID int IDENTITY(1,1) primary key not null,  StartNum varchar(50),  EndNum varchar(50),  strAdd varchar(50) , ) 自动创建的 数据库文件如下: ...c
  • Computer System Add comments 2010年5月6日更新: 只有真正懂得了这个道理的人, 才算真正理解了...数据库设计, 每一个表都应该有一个字段作为主键. 这个字段一般是自增整数字段, 或者某些数据库支持的自动
  • sqlserver 已经有了,也有数据,我想增加一个新列为主键,怎么加? 新列是空的 表中数据也不能删除 ,不能重新建表, 有什么办法加进去这个主键么? ![图片说明]...
  • 基本上没有数据只存在一个表中的情况。小的应用系统一般也有十几个表,大型系统一般有上千个。    我们以学生成绩查询为例来讲解的关联。除了Student,这里我们需要新建成绩Grade:   ...
  • 因为主键起始从实现角度来看是一个 唯一 非空 聚类索引, 聚类索引在一个表中只有一个,所以主键只有一个。至于为什么聚类索引在一个表中只有一个是因为聚类索引的数据物理顺序和索引排序方式一致,而物理存储...
  • 数据库的表中有自增长主键时(如图所示),我们该怎么插入数据呢? 方式: 当需要插入的数据比较少时,即可以通过条的插入时,我们可以指定该列(id)的值,但是新插入的值不能和已有的值重复,而且...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 215,098
精华内容 86,039
关键字:

在一个表中可以设置几个主键