精华内容
下载资源
问答
  • 数据库语句怎么加外键

    千次阅读 2021-01-30 09:38:46
    展开全部为已经添加好的数据表添加外键:语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的32313133353236313431303231363533e59b9ee7ad9431333363386130...

    展开全部

    为已经添加好的数据表添加外键:

    语法:

    alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的32313133353236313431303231363533e59b9ee7ad9431333363386130主键字段名);

    例:alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)//FK_ID是外键的名称

    /*

    CREATE TABLE `tb_active` (

    `id` int(11) NOT NULL AUTO_INCREMENT,

    `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

    `content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

    `user_id` int(11) NOT NULL,

    PRIMARY KEY (`id`),

    KEY `user_id` (`user_id`),

    KEY `user_id_2` (`user_id`),

    CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)

    ) ENGINE=InnoDB DEFAULT CHARSET=latin1

    */

    添加外键

    alter table locstock add foreign key locstock_ibfk2(stockid) references product(stockid)

    locstock 为表名, locstock_ibfk2 为外键名 第一个括号里填写外键列名, product为表名,第二个括号里是写外键关联的列名

    展开全文
  • 添加外键约束名字一定不能重复

    添加外键约束(四钟方法)

    添加外键约束名字一定不能重复

    方法一:直接在属性值后面添加
    create table 表名(
    字段1 int(11),
    字段2 int(50) references 外表表名(约束字段),
    字段3 int(30) references 外表表名(约束字段),
    primary key(字段2,字段3)
    );

    方法二:
    create table 表名(
    字段1 int(11),
    字段2 int(50),
    字段3 int(30),
    primary key(字段2,字段3),
    FOREIGN KEY(字段2) REFERENCES 外表表名(约束字段),
    FOREIGN KEY(字段3) REFERENCES 外表表名(约束字段),
    );

    方法三:
    create table 表名(
    字段1 int(11),
    字段2 int(50),
    字段3 int(30),
    primary key(字段2,字段3),
    CONSTRAINT 外键名称 FOREIGN KEY (字段2) REFERENCES 外表表名(约束字段),
    CONSTRAINT 外键名称 FOREIGN KEY (字段3) REFERENCES 外表表名(约束字段),
    );

    方法四:在表的定义外进行添加
    alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(对应的表的主键字段名);

    展开全文
  • 、在正确输入为table添加外键时,系统也并没有报错。 当我们show create table sc;查看表是否添加外键时,显示的是有我们添加的外键 KEY `FK_ID` (`CNO`); 放张对比图,下面的是正确的情况,可以发现之前的...

     alter table sc add constraint FK_ID foreign key(CNO) references course(CNO);

    一、在正确输入为table添加外键时,系统也并没有报错。

    当我们show create table sc;查看表是否添加外键时,显示的是有我们添加的外键  

    KEY `FK_ID` (`CNO`);

     放张对比图,下面的是正确的情况,可以发现之前的外键并没有与外表联系起来,这样的外键是不会起到作用的。

    首先得知道:

    只有存储引擎为INNODB才能建立外键,而你的存储引擎默认的可能是MyISAM

    输入show engines;查看存储引擎,

    看MyISAM  后面的Comment   :Default engine as of MySQL 3.23 with great performance

    这个一般是默认的mysql存储引擎。

    而InnoDB 后面的Comment:     Supports transactions, row-level locking, and foreign keys

    也就是说innoDB才可以设立外键。

    上面的图是我更改过后的图,之前的情况是:MyISAM 后面的support是DEFAULT(默认),而我的InnoDB的support 是DISABLED,这个只是并不是你的数据库没有这个engine,没有是no,而是没有设置。

    第一步:我的电脑→管理→服务→找到mysql并停止

     

     先停止服务

    第二步:在自己mysql的安装目录下找到my.ini文件(有时候这个文件隐藏了),所以你要查看,下面是我个人的:

     

    第三步:打开这个文件找到 [mysqld]

    将 default-storage-engine=MyISAM 更改为 default-storage-engine=INNODB 即可

     我这个大约在84行。

     但是当你保存的时候,可能会冒出没有权限修改,以什么管理员身份运行,于是我退出右击压根没有以管理员运行。我试了网上的不少的方法,可能是我操作不行,没成,于是我自己发现一个可以解决的方法:

    右击属性,然后找到安全,上面的选择Users,点击编辑

    将Users的修改权限、写入勾选,即可 ,之后再进行修改default-storage-engine=MyISAM 更改为 default-storage-engine=INNODB 即可。

    进入MySQL,

     二、InnoDB已经成为默认。但是之前创立的表并没有改变,下图为例:

     

     这个表的ENGINE 仍然是MyISAM。

      alter table xxxx(表明) ENGINE= InnoDB;对表的engine进行修改

    我顺便也把表的character set 设置为utf8( alter table xxxx convert to character set utf8;)

    建议两个表建立外键联系的时候,character set 设置为一样。

    此时,再对外键进行操作就正确了。

    三、下面我们验证一下: 

     当删去时会报错,这个报错即是由于建立了外键导致的。

     

    展开全文
  • 在MySQL数据表中怎样添加外键的两种方式: 第种方式(创建表之后添加) CREATE TABLE my_classes( class_id INT PRIMARY KEY AUTO_INCREMENT, class_name VARCHAR(20) NOT NULL , class_school_id INT ...

    在MySQL数据表中怎样添加外键的两种方式:

    1. 第一种方式(创建表之后添加)
     CREATE TABLE my_classes(
        class_id INT PRIMARY KEY AUTO_INCREMENT,
         class_name VARCHAR(20) NOT NULL ,
         class_school_id INT COMMENT ‘所在学校的id’,
    )CHARSET utf8;
    
    CREATE TABLE my_schools(
        school_id INT PRIMARY KEY AUTO_INCREMENT,
         school_name VARCHAR(20) NOT NULL ,
       FOREIGN KEY(school_id) REFERENCES my_classes(class_school_id)
    )CHARSET utf8;
    
    1. 第二种方式 (创建表时添加)
      alter table user add foreign key(pid) references province(pId);
                alter table 子表的数据表名 add foreign key(子表的外键名称) references 父表的数据表名称(父表的主键名称);
    

    Attention:把一个表的一个字段设为外键,则此字段必须是此表的主键才可以。

    System.out.println("点个关注吧,我养这个号有用的(●'◡'●)");
    
    展开全文
  • 创建主表:班级CREATE TABLE class(cid INT PRIMARY KEY AUTO_INCREMENT,sname VARCHAR(15) NOT NULL)INSERT INTOclassVALUES(NULL,'六年级班')INSERT INTO class VALUES(NULL,'六年级二班')第种://1....
  • 数据库的主键与外键

    2021-03-05 17:14:58
    主键保证了数据的唯一性,外键保证了数据的一致性、完整性,具有约束性。 1.主键 ...b表(客户订单表)中存有每客户的订单,a表的客户号是b表的外键 有了外键后: 1.只有a表中存在客户x,才可以在b表
  • 添加外键有两种方式: 1. 创建表的时候, 添加外键约束 CREATE TABLE 表名称 ( 列名 数据类型 约束, .... , FOREIGN KEY (本表外键列名) REFERENCES 主表名称 (主表主键列名) ); 2. 创建表之后, 添加外键约束...
  • 我在大学时上数据库的课程,学的三范式中有第三范式就是专指的外键约束。可是出来工作以后第次做数据库表设计的时候,组长大佬却让我在数据库中不要使用外键,改在代码中做相应处理。说得专业点,就是不要在...
  • 数据库】mysql的外键怎么写

    千次阅读 2021-01-30 01:46:38
    mysql添加外键:为已经添加好的数据表添加外键:语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);例:alter table tb_active add constraint ...
  • 创建数据库/表,向表中插入数据如果数据库不存在则创建,存在则不创建(if not exists),也可以省略不会报错。 创建testdate数据库,并设定编码集为utf8#创建数据库testdate;create database if not exists test02 ...
  • 定义如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从...
  • 外键指定一个列(或一组...添加外键:添加一个外键到表。删除外键:删除已选择的外键。使用 名 编辑框来输入新键的名。使用 参考模式、参考表 和 参考限制 下拉列表来分别选择一个外部索引数据库、表及限制。要包含栏...
  • Mysql外键bitsCN.commysql在表中添加个外键/增加外键/级联约束1. 建表时创建外键: CREATE TABLE`xh` ( `id` int(100) unsigned NOT NULL AUTO_INCREMENT COMMENT , `cl_id` smallint(3) unsigned NOT NULL ...
  • --商品描述 category_id number(10),--商品类别编号--商品创建日期 business_createTime date , --------------添加外键约束------------------------ constraint CategoryInfo foreign key(category_id) references...
  • 如何设置数据库中的外键

    千次阅读 2021-01-30 08:19:41
    建外键的前提是此外键必须是另外一个表的主键。建外键的步骤:第一步、打开要建外键表的设计器,右击选择“关系”。第二步、然后弹出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按...
  • 、外键约束1、什么是外键?外键指的是其他表中的主键,当做该表的外键。2、创建外键。2.1 可在创建表的时候直接创建外键,如图所示:create table table_name (字段...2.2 创建完表后再添加外键alter table table...
  • 数据库主键(Primary Key):指的是一个列或多列的属性组合,其属性值能唯一标识一条记录,通过它可强制表的实体完整性。例如:(tb_Book表:BookName、Author、Publishing、ISBN、BookClass、Count......)其中每本图书...
  • 请编写 SQL 语句,为课程表 courses 中的 teacher_id 添加外键约束,使之能与教师表 teachers 中的 id 相关联。 //官方答案 ALTER TABLE courses ADD CONSTRAINT FOREIGN KEY (teacher_id) REFERENCES teachers...
  • alter table foods add constraint fk_Foods_Category foreign key(CategoryId...####-----增加外键的方法------############alter table 需加外键的表 add constraint 外键名 foreign key(需加外键表的字段名) refe...
  • 所以我试图将外键约束添加到我的数据库作为项目需求,它在不同的表上第一次或第二次工作,但我有两个表,在尝试添加外键约束时我得到一个错误。我得到的错误消息是:ERROR 1215(HY000):无法添加外键约束这是我用来...
  • 文章目录外键约束1、外键概念2、关联约束3、添加与删除外键4、集联删除二、MySQL索引1、创建唯一索引(三种方法)2、索引查询3、全文索引4、联合索引5、删除索引外键约束1、外键概念外键:给关联字段创建关联...
  • 本篇文章主要给大家介绍mysql数据库怎么创建外键。关于mysql数据库外键的基础介绍,我们在这篇文章【Mysql外键是什么?有哪些用处?】中,已经给大家介绍过了,需要的朋友可以选择参考。了解了外键的基础定义,那么...
  • 数据库sql语句如何设置外键

    千次阅读 2021-02-08 05:48:03
    数据库sql语句设置外键的方法:1、添加外键约束【alter table 从表 add foreign key(外键字段) references 主表(主键字段)】;2、删除外键约束【alter table 表名 drop foreig】。本文操作环境:Windows7系统,...
  • SQLyog数据库:主键外键代码添加

    千次阅读 2021-03-04 16:19:53
    主键添加 alter table 表名 constraint 主键名 primary ley 表名(字段); 添加外键 alter tadle 表名 constraint 外键名 forelgn ley (外键字段) references 关联表名(关联字段);
  • 数据库主键与外键

    2021-10-28 15:47:47
    主键概念:主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。 外键概念:外键(foreign key)能保持数据的一致性、完整性 主键用力啊标识数据的唯一性,而外键主要保证多张表的...
  • We have 2 databases - DB1 & DB2.Can I create a table in DB1 that has a relation with one of the tables in DB2?In other words, can I have a Foreign Key in my table from another database?...
  • 《MYSQL数据库MySQL删除外键问题小结》要点:本文...MYSQL教程MySQL:MySQL不能删除外键,抱错Error on rename of ./ruler/test2child to ./ruler/#sql2-298-92 (errno: 152)MYSQL教程曾经这是MySQL的一个bug,但是现...
  • SQL数据库外键代码

    千次阅读 2021-01-18 19:15:29
    子表(test_student)创建一个外键, alter表TEST_STUDENT 添加约束fk_class_id外键(CLASS_ID) 参考test_class(CLASS_ID); 扩展资料: 1.高可用性: 分布式组织的可扩展性,决策支持的数据仓库功能,与...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 112,066
精华内容 44,826
关键字:

数据库添加一个外键