精华内容
下载资源
问答
  • Mysql设置表主键
    千次阅读
    2018-10-18 22:22:43

    Mysql修改表——添加主键

    sql如下:

    alter table [table_name] add primary key [column];
    
    更多相关内容
  • 设置MySQL数据表主键

    千次阅读 2021-01-28 00:39:07
    设置MySQL数据表主键:使用“primary key”关键字创建主键数据列。被设置主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合。如下SQL语句所示:Mysql>createtablebooks(bookidint(11)...

    设置MySQL数据表主键:

    使用“primary key”关键字创建主键数据列。被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合。如下SQL语句所示:

    
     

    Mysql>createtablebooks(bookidint(11)NOTNULLAUTO_INCREMENTPRIMARYKEY,booknamevarchar(50));

    Mysql>insertintobooks(bookname)values(“book1”),(“book2”),(“book3”);

    Mysql>select*frombooks;

    若要修改列主键或类型,请参考 ALTER TABLE 语句。

    设置MySQL数据表外键

    外键是设置当前表中的某一列与别一数据表中的主键列关联。主要目的是控制与外键表中的数据,保持数据一致性,完整性,也就是说:当前表中这一列的数据必须是关联外键列中的某一数据,而且相关联的两个数据列的类型必须相同;当关联外键列某一数据修改或删除时,将触当前表的某一项相应操作。可解发以下事件以及参数:

    触发事件:on delete和on update

    可设参数:cascade(跟随外键改动);

    restrict(限制外表中的外键改动);

    set Null(设空值);

    set Default(设默认值);

    no action [默认]

    设置关联的语句由[指定主键关键字:foreign key(列名)]和[引用外键关键字: references (外键列名)]组成。例如创建一个关于books的购物车数据表“gbooks”,其中“gbookid”与books表中的“bookid”创建外键关联。

    
     

    Mysql>createtablegbooks(gidint(11)notnullauto_incrementprimarykey,gbookidint(11),goodsumint(4),foreignkey(gbookid)referencesbooks(bookid)ondeletecascadeonupdatecascade);

    删除外键:

    首先,使用SHOW CREATE TABLE语句查看创建表描述。其中“CONSTRAINT”关键字后面有一个引号括起来的名称,它就是这个表外键的代表,是在创建外键时自动生成的名称,当然在创建的过程中可以直接用“CONSTRAINT”关键字自定义名称。其查看的完整语句如下:

    
     

    Mysql>showcreatetablegbooks;

    这里代表外键的名称是“gbooks_ibfk_1”,目标找到了,再使用ALTER语句进行删除。

    
     

    Mysql>ALTERTABLEgbooksDROPFOREIGNKEYgbooks_ibfk_1;

    主键和外键的设置意义:

    主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和可用性都有着决定性的影响。

    必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个设计过程的症结所在。一旦将所设计的数据库用于了生产环境,就很难对这些键进行修改,所以在开发阶段就设计好主键和外键就是非常必要和值得的。

    主键:

    关系数据库依赖于主键—它是数据库物理模式的基石。主键在物理层面上只有两个用途:

    1. 惟一地标识一行。

    2. 作为一个可以被外键有效引用的对象。

    基于以上这两个用途,下面给出了我在设计物理层面的主键时所遵循的一些原则:

    1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。

    2. 主键应该是单列的,以便提高连接和筛选操作的效率。

    3. 永远也不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。

    注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。

    4. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

    5. 主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

    外键是用来和其他表建立联系用的:这个表中的一列和另外一个表中的一列相同,为了让这两个表联系起来,就把其中一个表中的列设成外键,把另外一个表列设成主键,就实现了这两个表的关联。一个表可以有多个外键。但主键只能有一个。

    展开全文
  • alter table interface_call_time_consuming drop id; -- 删除原来的主键值 alter table interface_call_time_consuming add id int not null primary key auto_increment first; -- 重新从1开始编号,使它连续
    <if test="ids.size > 0">
                    <foreach collection="ids" item="item" index="index" open="AND" close="" separator="or">
                        FIND_IN_SET (#{item},warehouse_id)
                    </foreach>
                </if>

    1、重新设置表主键重1开始

    alter table interface_call_time_consuming drop id; -- 删除原来的主键值
    alter table interface_call_time_consuming add id int not null primary key auto_increment first; -- 重新从1开始编号,使它连续

    2、FIND_IN_SET函数查询 1,2,3,4

    SELECT * FROM `rd_resource_dir` WHERE  FIND_IN_SET(2,realm_id);

    3、GROUP_CONCAT多行数据字段拼接

    SELECT GROUP_CONCAT(id) FROM `realm_data` WHERE `name` in("信用服务","医疗卫生");
    

    4、查看本地mysql安装路径

    show variables like "%datadir%";

    展开全文
  • 代码如下: ALTER TABLE 名字 ADD CONSTRAINT pk_名字 PRIMARY KEY( SNumber, SDate );... 您可能感兴趣的文章:sql server创建复合主键的2种方法MySQL 创建主键,外键和复合主键的语句初探SQL语句复合主键与联合主键
  • oracle设置主键自增的方法,可以图形化界面也可以用sql语句,两种方法均亲自验证过。
  • mysql如何给表设置组合主键

    千次阅读 2021-01-19 05:37:30
    2.设置联合主键;3.执行代码,发现出现错误;4.解决方案:给id自增列加UNIQUE唯一索引;5.代码执行成功;6.联合主键创建成功。7.SQL示例代码:USE testCREATE TABLE `test_table` (`id` INT(...

    mysql 中有时候会遇到多个字段来表示数据的唯一性,那么这里就会用到组合主键了。

    相关mysql视频教程推荐:《mysql教程》

    1.编写创建表sql代码;

    1501652647458895.png

    2.设置联合主键;

    1501652670524076.png

    3.执行代码,发现出现错误;

    1501652703835922.png

    4.解决方案:给id自增列加UNIQUE唯一索引;

    1501652726282768.png

    5.代码执行成功;

    1501652749548734.png

    6.联合主键创建成功。

    1501652771350806.png

    7.SQL示例代码:USE test

    CREATE TABLE `test_table` (

    `id` INT(11) NOT NULL AUTO_INCREMENT UNIQUE COMMENT '自增',

    `realName` VARCHAR(50) CHARACTER SET gbk DEFAULT NULL COMMENT '真实姓名',

    `area_id` VARCHAR(50) CHARACTER SET gbk DEFAULT NULL COMMENT '地区编号',

    `enter_time` INT(11) DEFAULT NULL COMMENT '录入时间',

    `mark` VARCHAR(60) CHARACTER SET gbk DEFAULT NULL COMMENT '备注',

    PRIMARY KEY (`realName`,`area_id`)

    ) ENGINE=MYISAM AUTO_INCREMENT=1133 DEFAULT CHARSET=gbk;

    展开全文
  • oracle怎样设置主键?_数据库

    千次阅读 2021-05-07 04:58:07
    oracle设置主键的要领:1、在建立时定义主键 ,代码为【constraint TF_B_AIR_CONFIG_PK primary key(TYPE_ID)】;2、在建立后,运用alter table语法设置主键。 oracle设置主键的要领:一、什么是主键主键...
  • PL/SQL设置表主键自动递增

    千次阅读 2018-04-10 17:21:33
    oracle没有设置主键auto increment的功能,需要自己编写序列和触发器实现主键自动递增。示例:创建menu:create table menu( menuId number(10) not null primary key, name varchar2(40) not null, ...
  • 您可以在创建的时候就为加上主键,如: CREATE TABLE tbl_name ([字段描述省略…], PRIMARY KEY(index_col_name)); 也可以更新结构时为加上主键,如: ALTER TABLE tbl_name ADD PRIMARY KEY (index_col_...
  • 复制代码 代码如下: mysql_select_db(“hills_database_test”,$dbcon); $alterpkadd=”alter table hills_testcreatetable ... 您可能感兴趣的文章:深入探寻mysql自增列导致主键重复问题的原因mysql把主键定义为自动
  • 主键自增长列在进行数据插入的时候,很有用的,如可以获取返回的自增ID值,接下来将介绍SQL Server如何设置主键自增长列,感兴趣的朋友可以了解下,希望本文对你有所帮助
  • Postgresql设置表主键自增长

    千次阅读 2022-03-29 18:34:24
    Postgresql设置表主键自增长,在pgAdmin中的Default(默认值)中填写nextval('my_sequence'),其中my_sequence是新建的序列,记得要在nextval函数加上单引号
  • 主要给大家介绍了关于Android sqlite设置主键自增长的方法教程,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
  • 问题 MySQL数据库规范中规定每张中都需要设置主键,那么是因为什么原因而如此规定的呢。每一条规范都会有它背后的涵义。
  • mysql 创建设置主键自增

    千次阅读 2021-01-25 16:47:42
    mysql 创建设置主键自增mysql 创建:mysql> create table user(-> userid int(4) primary key not null auto_increment,-> username varchar(16) not null,-> userpassword varchar(32) not null-...
  • mysql创建后,设置主键

    千次阅读 2021-04-23 23:05:25
    alter table fruits add primary key(f_id);
  • oracle主键设置方法

    千次阅读 2021-05-02 03:29:52
    主键约束: 一个只能有一个主键约束。主键可以是单个字段,也可以是多个字段。无论是哪种情况,其所有字段都是NOT NULL。2.Unique约束:一个可以有多个Unique约束,Unique的字段可以为NULL。3.主键与Unique:...
  • DBeaver设置主键 与 主键删除

    千次阅读 2021-08-04 16:05:12
    初次使用DBeaver可视化工具,新建mysql测试表单,设置主键id自增,前提是id为主键。那么如何设置id为主键呢? 1.点击“约束”。 2.空白处右击,选择新建约束。选择要设置为主键的字段,确定。 3. 右下角...
  • ( 使用powerdesigner创建oracle_数据库,设置表主键列为自动增长.doc )
  • access设置主键

    千次阅读 2021-01-17 18:34:02
    在access中设置主键,指的是把某个数据的某个字段设置为关键字段!下面我们先大体来了解主键是何概念!所谓的主键,其实并非大家想象中的那么神秘,主键其实也是一个字段而已,只不过,该字段中的任何数据,都是...
  • 数据库主键设置

    千次阅读 2021-01-21 14:07:04
    主键设置方法有3种:一种是设置自增长主键,第二种是采用业务主键,第三种是生成唯一序列(使用uuid/guid);如何选择主键设置方式:1.主键的使用目的:a.为了保证数据查找唯一;b.提高存储效率和索引效率。2.使用自增...
  • 一、确立主键规范每个了解数据库设计的人都知道,主键对于一张来说是一个很重要,甚至必需的部分。这确实是事实,主键是好的数据库设计的一部分。主键是数据库确保数据行在整张唯一性的保障。它是定位到一条记录...
  • mysql设置数据主键及自增长的方法:首先启动MySQL,打开navicat建立一个新;然后添加字段,类型;接着执行相关语句即可插入数据;最后选中字段,在下面的Auto Increment前打上对勾即可自增长。更多相关免费...
  • 1.创建主键语法 ALTER TABLE table_name ADD CONSTRAINT pk_name ...使用组合主键 如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分记录的唯一性,形式 ①创建时:create table sc ( student
  • 3.1 插入数据 1.1 插入完整的数据记录 INSERT 1.2 为的指定字段插入数据 INSERT 1.3 同时插入多条数据记录 INSERT 1.4 插入查询结果 INSERT 1.5 使用REPLACE语句插入数据 REPLACE 使用INSERT如果碰到主键或者...
  • SQL常用语句|创建,设置主键......

    千次阅读 2021-02-05 05:11:24
    新建create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default \'默认值\' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,...
  • MySQL的没有设置主键带来的问题

    千次阅读 2021-04-04 16:48:49
    文章目录mysql定义了主键主键达到最大值mysql没有定义主键主键达到最大值缺少主键存在问题 mysql定义了主键主键达到最大值 (2) 如果申明了主键,当主键达到最大值,再插入则主键不会再增长,而是报主键重复...
  • SQL主键设置

    2019-09-15 22:34:35
    创建时候,既设定主键又设为标识列 SQL code CREATE TABLE tb (id INT IDENTITY ( 1, 1) PRIMARY KEY,) 设成标识列以后,此列为只读属性,不能再更改。 只设置主键,不设置成标识列 SQL Cod...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 334,728
精华内容 133,891
关键字:

怎样设置表的主键