【MySQL学习9:详解MySQL中的外键约束】教程文章相关的互联网学习教程文章

java mysql外键约束 数据库之间关系 三大范式 多表查询

外键约束 ? 在新表中添加外键约束语法:coustraint 外键约束名称 foreign key(外键的字段名称) references 主表的表名(主键字段名) ? 在已有表中添加主键外键约束:alter table 从表表名 add coustraints 外键约束名称 foreign key(外键的字段名称) references 主表的表名(主键字段名) 操作 -- 外键约束 -- 课程表 drop table course; create table course ( c_id int primar...

mysql-如何避免添加重复的外键约束【代码】

我想知道是否可以避免多次添加相同的外键约束? 例如:如果我执行下面的查询3次,则在phpmyadmin中约束将存在3次…我第二次和第三次应用该查询都会被拒绝,这将是非常棒的.ALTER TABLE `my_items_details` ADD FOREIGN KEY (`items_id`) REFERENCES `my_items`(`item_id`) ON DELETE RESTRICT ON UPDATE CASCADE;解决方法:您可以给外键指定一个明确的名称,而不是让MySQL为您分配默认名称.ALTER TABLE `my_items_details` ADD FOREIGN...

mysql-Django:1215,仅具有一个字段的模型上的“无法添加外键约束”【代码】

我有一个沙拉模型:class Salad(models.Model):some_field = models.ForeignKey(Profile, on_delete=models.CASCADE, null=True)无论我如何调用类,单个字段,我放置什么模型(而不是Profile)或选择哪个on_delete选项.我系统地得到错误: django.db.utils.IntegrityError:(1215,’无法添加外键约束’) 错误日志:Traceback (most recent call last):File "C:\Users\Div-o\AppData\Local\Programs\Python\Python35-32\lib\site-packag...

mysql-具有外键约束的删除顺序,【代码】

我有一个包含三个表和外键“删除时”约束的架构,如下所示:| -> FK (cascade) -> | Organisation | | Users| - FK (cascade) Categories -> FK(restrict) -> |如果删除组织,则要删除用户及其相关的类别,但是如果用户引用了该类别,则不允许删除该类别,除非要删除整个组织. 目前,如果我删除组织,则如果有用户引用,则类别删除失败.这似乎表明MySQl正在处理...

MySQL错误1452-无法添加或更新子行:外键约束失败【代码】

我已经看过其他人关于此主题的问题,但似乎找不到我的错误出处.任何帮助将不胜感激.我包括了我能想到的尽可能多的东西,这可能有助于发现问题:CREATE TABLE stocks ( id INT AUTO_INCREMENT NOT NULL, user_id INT(11) UNSIGNED NOT NULL, ticker VARCHAR(20) NOT NULL, name VARCHAR(20), rating INT(11), position ENUM("strong buy", "buy", "sell", "strong sell", "neutral"), next_look DATE, privacy ENUM("public", "privat...

mysql-由于外键约束,使用phpMyAdmin复制数据库失败

我正在使用phpMyAdmin,并且尝试将数据库从一个数据库复制到另一个数据库(在我的开发机上).我收到以下错误: #1452-无法添加或更新子行:外键约束失败 在幕后,PMA似乎正在执行INSERT INTO … SELECT查询. 有没有办法让PMA正确复制此数据库?或者,是否有更好的工具与我应该使用的MySQL配合使用(最好是基于GUI)?解决方法:导出原始数据库,然后将其导入到新数据库-导出中创建的SQL将具有“禁用键”指令,这将使您跨过障碍.

从具有外键约束的MySQL表中删除

我有两个表,其中加载了一些数据,并且两个表相互引用.表B引用了表A的主键.我手动尝试从表A中删除表B中存在的一些表行,并且得到以下信息: #1451-无法删除或更新父行:外键约束失败(TableA.TableB,CONSTRAINT TableB_ibfk_2 FOREIGN KEY(列)参考抽认卡(primaryKeyColumn)) 我不太确定这是怎么回事.据我了解,如果我删除了TableA的某些行,那么它们也应该自动删除表B中存在的相应行(即,如果它们存在于表B中),但显然这里不是这种情况,这提...

MySQL外键约束-错误1452-无法添加或更新子行【代码】

我已经使用了有关该主题的其他帖子,但是我没有运气. 这是我执行的代码:UPDATE tblOrderItems SET `ItemID` = 0004 WHERE `OrderNum`= 203 AND `OrderItemID` = 26这是我的错误:Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`cai0066`.`tblOrderItems`, CONSTRAINT `ItemID` FOREIGN KEY (`ItemID`) REFERENCES `tblCatalogItems` (`ItemID`))笔记: >当我在tblOrderItems中插入或更新时...

mysql-errno 150:外键约束格式错误【代码】

我已经读过很多关于此错误的问题,或者我不了解正在发生的事情/答案,或者不适合我的情况. 我已经有一个简单的用户表:CREATE TABLE user (id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,username VARCHAR(50) NOT NULL,password VARCHAR(64) NOT NULL ); CREATE UNIQUE INDEX user_username_uindex ON user (username);我想添加一个引用用户ID的帖子表:CREATE TABLE post (id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,title VARCHA...

MySQL外键约束On Delete和On Update的使用

On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性。现在分别对他们的属性含义做个解释。 ON DELETErestrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 no action:意思同restrict.即如果存在从数据,不允许删除主数据。 cascade(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在子表(...

mysql-错误1215无法添加外键约束【代码】

桌子货物DROP TABLE IF EXISTS "hibernatecurso"."cargo"; CREATE TABLE "hibernatecurso"."cargo" ("idcargo" int(11) NOT NULL DEFAULT '0',"funcao" varchar(45) DEFAULT NULL,PRIMARY KEY ("idcargo") ) ENGINE=InnoDB DEFAULT CHARSET=utf8;表EMPREGADODROP TABLE IF EXISTS "hibernatecurso"."empregado"; CREATE TABLE "hibernatecurso"."empregado" ("idempregado" int(11) NOT NULL DEFAULT '0',"nome" varchar(45) NOT...

MySQL重复外键约束【代码】

当我尝试导入数据库时??出现此错误SQL query: ALTER TABLE `bid` ADD CONSTRAINT `bid_ibfk_4` FOREIGN KEY (`auction_contact_id`) REFERENCES `auction_contact` (`auction_contact_id`), ADD CONSTRAINT `bid_ibfk_3` FOREIGN KEY (`car_id`) REFERENCES `car` (`car_id`)MySQL said: Documentation #1826 - Duplicate foreign key constraint name 'projekt_classics/bid_ibfk_3'查看所有外键,我得到的结果select * from INFOR...

MySQL外键约束关键字

1主表(父表):对于两个具有关系的表而言,相关联的字段中主键所在的表即为主表。 2从表(子表):对于两个具有关系的表而言,相关联的字段中外键所在的表即为从表。 外键的作用是在多张表的数据之间建立关系,确保多个表之间数据的一致性丶完整性。一个表中可以有零到任意多个外键。外键属于引用完整性,一个表的外键可以为空值,若部位空值,则每一个外键值必须等于另一个表中主键的某个值。定义外键后,不允许删除在另一个表中...

mysql – Laravel 5.1迁移和种子无法截断外键约束中引用的表【代码】

我正在尝试运行迁移(见下文)并为数据库播种,但是当我运行时php artisan migrate --seed我收到此错误:Migration table created successfully. Migrated: 2015_06_17_100000_create_users_table Migrated: 2015_06_17_200000_create_password_resets_table Migrated: 2015_06_17_300000_create_vehicles_table[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a tab...

MySQL无法创建外键约束【代码】

我在创建mysql数据库中现有表的外键时遇到了一些问题. 我有表格exp:+-------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+---------+-------+ | EID | varchar(45) | NO | PRI | NULL | | | Comment | text | YES | | NULL | | | Init...