精华内容
下载资源
问答
  • 2019-10-07 10:57:50

    mysql 设置外码约束

     foreign key(字段名1) references 表名(字段名2));

     

    更多相关内容
  • http://hi.baidu.com/wangzhiqing999/item/e74b2be28be445a3c00d7528MySQL 外键约束-- 创建测试主表. ID 是主键.CREATE TABLE test_main (id INT,value VARCHAR(10),PRIMARY KEY(id));-- 创建测试子表.CREATE TABLE ...

    http://hi.baidu.com/wangzhiqing999/item/e74b2be28be445a3c00d7528

    MySQL 外键约束

    -- 创建测试主表. ID 是主键.

    CREATE TABLE test_main (

    id      INT,

    value   VARCHAR(10),

    PRIMARY KEY(id)

    );

    -- 创建测试子表.

    CREATE TABLE test_sub (

    id      INT,

    main_id INT,

    value   VARCHAR(10),

    PRIMARY KEY(id)

    );

    -- 插入测试主表数据.

    INSERT INTO test_main(id, value) VALUES (1, 'ONE');

    INSERT INTO test_main(id, value) VALUES (2, 'TWO');

    -- 插入测试子表数据.

    INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');

    INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');

    默认外键约束方式

    mysql> ALTER TABLE test_sub

    ->   ADD CONSTRAINT main_id_cons

    ->   FOREIGN KEY (main_id)

    ->   REFERENCES  test_main(id);

    -> //

    Query OK, 2 rows affected (0.17 sec)

    Records: 2  Duplicates: 0  Warnings: 0

    mysql> DELETE FROM

    ->   test_main

    -> WHERE

    ->   id = 1;

    -> //

    ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constrai

    nt fails (`test`.`test_sub`, CONSTRAINT `main_id_cons` FOREIGN KEY (`main_id`) R

    EFERENCES `test_main` (`id`))

    MySQL使用下面这个语句删除外键约束

    ALTER TABLE test_sub DROP FOREIGN KEY  main_id_cons;

    DELETE CASCADE 方式

    mysql> ALTER TABLE test_sub

    ->   ADD CONSTRAINT main_id_cons

    ->   FOREIGN KEY (main_id)

    ->   REFERENCES  test_main(id)

    ->   ON DELETE CASCADE//

    Query OK, 2 rows affected (0.16 sec)

    Records: 2  Duplicates: 0  Warnings: 0

    mysql> DELETE FROM

    ->   test_main

    -> WHERE

    ->   id = 1;

    -> //

    Query OK, 1 row affected (0.02 sec)

    mysql> SELECT

    ->   *

    -> FROM

    ->   test_sub;

    -> //

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

    | id | main_id | value  |

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

    |  2 |       2 | TWOTWO |

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

    1 row in set (0.00 sec)

    MySQL使用下面这个语句删除外键约束

    ALTER TABLE test_sub DROP FOREIGN KEY  main_id_cons;

    UPDATE CASCADE方式

    mysql> ALTER TABLE test_sub

    ->   ADD CONSTRAINT main_id_cons

    ->   FOREIGN KEY (main_id)

    ->   REFERENCES  test_main(id)

    ->   ON UPDATE CASCADE;

    -> //

    Query OK, 1 row affected (0.14 sec)

    Records: 1  Duplicates: 0  Warnings: 0

    mysql> UPDATE test_main SET id = 5 where id = 2

    -> //

    Query OK, 1 row affected (0.01 sec)

    Rows matched: 1  Changed: 1  Warnings: 0

    mysql> select * from test_sub//

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

    | id | main_id | value  |

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

    |  2 |       5 | TWOTWO |

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

    1 row in set (0.00 sec)

    MySQL使用下面这个语句删除外键约束

    ALTER TABLE test_sub DROP FOREIGN KEY  main_id_cons;

    SET NULL方式

    mysql> ALTER TABLE test_sub

    ->   ADD CONSTRAINT main_id_cons

    ->   FOREIGN KEY (main_id)

    ->   REFERENCES  test_main(id)

    ->   ON DELETE SET NULL;

    -> //

    Query OK, 1 row affected (0.13 sec)

    Records: 1  Duplicates: 0  Warnings: 0

    mysql> DELETE FROM

    ->   test_main

    -> WHERE

    ->   id = 5;

    -> //

    Query OK, 1 row affected (0.05 sec)

    mysql>

    mysql> SELECT

    ->   *

    -> FROM

    ->   test_sub;

    -> //

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

    | id | main_id | value  |

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

    |  2 |    NULL | TWOTWO |

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

    1 row in set (0.00 sec)

    展开全文
  • Mysql:外码约束

    千次阅读 2019-12-11 09:34:46
    添加主键约束: alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段); 添加外键约束: alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) ...

    添加主键约束:

    alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);

    添加外键约束:

    alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
    //constraint 在外键名前面

    删除主键约束:

    alter table 表名 drop primary key;

    删除外键约束:

    alter table 表名 drop foreign key 外键(区分大小写);
    //外键:外键!=外键字段
    //show create table bi_sai_xiang_mu(该表名)来找到这个约束的字段名,一般形如xx_ibfk[_1];

    添加列:

    alter table 表名 add column 列名 varchar(30);

    删除列:

    alter table 表名 drop column 列名;

    修改列名:

    alter table 表名 change oldcolname newcolname int;

    修改列属性:

    alter table 表名 modify 列名 varchar(22);

    展开全文
  • 再创建教师表:此处已添加单个外码约束teacher_dept mysql> create table teacher( -> teacher_no int unsigned auto_increment, -> teacher_name varchar(100), -> teacher_title varchar(20) not null, -> ...

    先创建课程表:

    mysql> create table course(
        -> course_no int unsigned auto_increment,
        -> course_name varchar(100) not null,
        -> course_credit int unsigned not null,
        -> course_type varchar(20) not null,
        -> primary key(course_no));
    

    再创建教师表:此处已添加单个外码约束teacher_dept

    mysql> create table teacher(
        -> teacher_no int unsigned auto_increment,
        -> teacher_name varchar(100),
        -> teacher_title varchar(20) not null,
        -> teacher_dept int unsigned not null,
        -> primary key(teacher_no),
        -> foreign key(teacher_dept) references department(dept_no));
    

    创建任课表:此处添加两个外码约束teacher_no和course_no

    mysql> create table teach(
        -> teacher_no int unsigned,
        -> course_no int unsigned,
        -> primary key(teacher_no,course_no),
        -> foreign key(teacher_no) references teacher(teacher_no),
        -> foreign key(course_no) references course(course_no));
    
    展开全文
  • 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。 每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。 我们也可以将数据存储在文件中,但是在文件中读写数据...
  • 可以将理解为键的意思; **1.=键:**能够唯一标识一条记录的属性或者属性集。 2.候选=候选键:能够唯一标识一条记录的最小属性集。 最小性:任一候选键的任何真子集都不能唯一标识一个记录 举例:学生ID是候选...
  • 我们在使用 MySQL 数据库时,添加数据如果设计不合理很容易出现外码约束的情况,为什么会产生这样的问题?那我们该如何处理这一问题呢?依据又是什么?本篇文章带你进一步来深度剖析,并带着你的思路来设计解决方案...
  • 基本格式模板: CREATE TABLE 表名 ( ... Sno CHAR(9) PRIMARY KEY, /* PRIMARY KEY主*/ Sname CHAR(20) UNIQUE, /*UNIQUE使Sname取唯一值*/ Ssex CHAR(4)NOT NULL, /*NOT NULL使Ssex不能取空值
  • 表和完整性约束 表的定义以及完整性约束的定义 定义列 定义计算列 定义主关键字(实体完整性约束) 定义外部关键字(参照完整性约束) 删除约束 、更新约束 定义普通约束(用户定义完整性) 表级约束 ...
  • mysql取消外键限制(约束)的方法:通过“ALTER TABLE DROP FOREIGN KEY ;”语句来取消;外键一旦删除,就会解除主表和从表间的关联关系。MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。...
  • 满意答案qq5751378872014.06.09采纳率:55%等级:10已帮助:1164人外码必须是另一个关系的主码, 或者 有唯一约束的列。否则创建将要失败!-- 创建测试主表. 无主键.CREATE TABLE test_main2 (id INT NOT NULL,value ...
  • mysql约束课堂笔记

    千次阅读 2021-01-19 17:42:06
    约束3. 多表之间的关系4. 范式5. 数据库的备份和还原# DQL:查询语句1. 排序查询* 语法:order by 子句* order by 排序字段1 排序方式1 , 排序字段2 排序方式2...* 排序方式:* ASC:升序,默认的。* DESC:降序。*...
  • SQL中的外键约束

    2020-12-22 15:38:20
    外键约束 如有两个表 学生表 id 主键约束 名字 性别 成绩表 id 学生id 成绩 给成绩表的学生id加上外键约束 create table 成绩表( id int, 学生id int, 成绩 int, constraint 外键约束名 foreign key (学生id) ...
  • 创建表的语法我在官方的文档中看到了这样的 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name ...老师说的NOT NULL 和 DEFAULT约束只能是列级约束,意思是只能在一条语句中连着写,比如name VARCHAR(10) NOT NULL?
  • 4,创建表-带外码约束: [CONSTRAINT约束名] FOREIGN KEY (字段名) REFERENCES 父表(主码字段名) 外码约束的定义需要确定两件事情: 第一:哪个字段是外码,用关键字FOREIGN KEY指定; 第二:引用哪张表的主码,...
  • MySQL外键约束详解

    千次阅读 2021-12-19 08:02:01
    今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL外键约束详解。 一、MySQL外键约束作用 二、外键约束创建 (一)创建外键约束的条件 (二)在创建数据表时创建外键约束 (三)在创建数据表后添加外键约束 三...
  • 本文所有操作都是基于mysql8.0执行的,针对mysql数据库创建表之后的约束语句的添加、...创建表时定义外码 创建表后定义外码 定义参照完整性的违约处理 用户自定义完整性 NOT NULL/NULL DEFAULT UNIQUE CHECK ...
  • 实验六 约束与索引数据结构说明第1关:添加约束一第2关:添加约束二第3关:添加约束三第4关:创建索引 数据结构说明 表结构如下: 学生表:Student 字段名 类型 主 备注 Sno char(10) Y 学号 Sname ...
  • 文章目录数据表的约束主键约束 数据表的约束 为防止错误的数据被插入到数据表,MySQL中定义了一些维护数据库完整性的规则;这些规则常称为表的约束。常见约束如下: 以上五种约束条件针对表中字段进行限制从而保证...
  • 数据库——添加外键约束

    千次阅读 2021-09-29 10:48:10
    添加外键约束名字一定不能重复
  • SQL外键约束

    千次阅读 2020-07-25 14:47:23
    SQL外键约束外键约束添加外键约束删除外键约束 外键约束 一个表中的 FOREIGN KEY(外键) 指向另一个表中的 PRIMARY KEY(主键) FOREIGN KEY 约束用于预防破坏表之间连接的动作 FOREIGN KEY 约束也能防止非法数据...
  • 1)主键约束:primary key             注意:①含义:有主键就代表了非空且唯一;②一张表只能有一个字段为主键;③主键就是表中记录的唯一标识。  ...
  • 文章目录一、数据的完整性二、实体完整性约束2.1、主键约束(唯一、不重复、不能为空)(1)建表时直接添加(2)通过ALTER语句(针对已存在的表)(3)删除主键约束2.2唯一约束(唯一、不重复,可以为空)(1)创建表...
  • SQL添加外键约束

    千次阅读 2021-11-05 16:24:04
    SQL添加外键约束 alter table 表 add constraint 外键约束名称 foreign key (列) references 表 (主键列);
  • navicat表约束怎么弄

    千次阅读 2021-04-19 05:37:14
    数据库中约束分为一下几种●主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。●唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。●检查约束(Check constraint)...
  • 2.外码 双击reference,选择integrity(完整性)选项卡,自定义外键名称 3.CHECK约束 方法一(列约束):双击实体进入,属性界面点击column选项卡,选中要添加约束的字段名,右击点击properties(属性) 点击...
  • 在使用srping data JPA时候,配置了很多类似 一对多的配置,导致在生成数据库在mt_sys_file生成了多个外键约束,最后在保存数据的时候可能出现“违反数据库约束”,例如: ...
  • MySQL数据库之外键约束的简单理解

    千次阅读 2021-02-02 11:18:53
    外键又称作关键字。(来自百度百科)要想理解外键的概念,就不得不提到主键了。主键:当有多个候选时,可以选定一个作为主,选定的候选称主键;外键: 关系R中的一个属性组,它不是R的候选,但它与...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,198
精华内容 26,479
关键字:

外码约束

友情链接: englishbook.rar