【MySQL外键关联问题】教程文章相关的互联网学习教程文章

查询多个表,包括具有空外键MySQL的行【代码】

这是我第一次使用mysql,我需要一些帮助.我找不到任何解决办法,因为它太容易了,或者我太正常了,不能正常查找它. 我想从我的测试数据库中的多个表中进行查询.我们说表是: 类别(* id_category,* id_product) 产品(* id_product,id_category,id_supplier,id_manufacturer) 制造商(* id_manufacturer,名称) 供应商(* id_supplier,名称) 带*的列是整数主键,而不是null,带有auto_increment(从1开始).其他id列只是整数外键(默认为null). 我...

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

我使用mySql Workbench构建了一个数据库,但是当我尝试将我的模型转发到服务器时,我收到以下错误:ERROR: Error 1215: Cannot add foreign key constraint然后是定义外键的表的定义,salaire_annee_ca 我阅读了类似的主题,以确定此错误的常见原因,并检查: >如果salaire_annee_ca中定义的外键引用了另一个表的主键,它会执行该操作>如果代码中的某些内容允许我的密钥为null,那么它不会>如果引用的类型和外键的类型相同 在我看来,所有这...

mysql添加外键后,报错:Cannot add or update a child row:a foreign key constraint fails

其实问题不大,主要就是自己不够细心。 根据给出的错误提示,我仔细对比了一下主表和设有外键的表,发现设置的外键和对应的主键表的主键值不一致,重新修改后又报错了,原来是我主表的id字段类型是varchar,而我添加数据时添加的是int型数据,最后把把这个问题一改就不会报错了。

mysqldbcopy结合外键约束?【代码】

所以我目前有一个表,根据SHOW CREATE TABLE有以下约束:CONSTRAINT `FK_BA62400997790DEE` FOREIGN KEY (`some_id`) REFERENCES `Other_Table` (`id`), CONSTRAINT `FK_BA624009C8554709` FOREIGN KEY (`someOther_id`) REFERENCES `Yet_Another_Table` (`id`)但是,当使用mysqldbcopy复制db时,我收到以下错误:ALTER TABLE old_database.OriginalTable add CONSTRAINT `FK_BA62400997790DEE` FOREIGN KEY (`some_id`,`someOther_id...

MySQL删除没有名称的外键【代码】

我正在尝试创建一个脚本,该脚本将从几个不同的MySQL DB中删除没有设置名称的外键约束.我创建了以下脚本:SET @CN := (SELECT CONSTRAINT_NAME FROMinformation_schema.KEY_COLUMN_USAGE WHEREtable_name = 'inventory' and referenced_table_name='product_code' and referenced_column_name='shipping_code');ALTER TABLE inventory DROP FOREIGN KEY @CN;它正确地获得了约束名称.但是它抱怨ALTER TABLE命令中的变量@CN.为什么这不...

外键不会阻止我输入数据MySQL【代码】

我有一个表,其中一列作为外键连接到另一个表.这是一个板球问题,我有一个名为Fixtures的桌子和另一个名为Inning的桌子. Inning表有一个FixtureId列,与Fixture表有关. 我希望如果我使用与Fixture无关的FixtureId对inning表进行插入,那么它会出错,但事实并非如此…… 谁能解释为什么会这样?解决方法:创建表时,请确保使用InnoDB存储引擎.其他存储引擎将简单地忽略外键约束. (Source) 例:CREATE TABLE a (id INT AUTO_INCREMENT PRIMA...

mysql删除和外键约束【代码】

我在MYSQL中删除了两个表中的选定行,这两个表都有外键.DELETE d,bFROM A as bINNER JOIN B as d on b.bid=d.bid WHERE b.name LIKE '%xxxx%';MYSQL抱怨外键,即使我试图从两个表中删除:Error: Cannot delete or update a parent row: a foreign key constraint fails (`yyy/d`, CONSTRAINT `fk_d_bid` FOREIGN KEY (`bid`) REFERENCES `b` (`bid`) ON DELETE NO ACTION ON UPDATE NO ACTION)从这两个表中删除的最佳解决方案是什么...

java – MySQL中的@OneToMany错误:无法删除或更新父行:外键约束失败【代码】

我有如下的一对多关系@Entity @Table(name = "reminderheader") public class ReminderHeader implements Serializable {@Id@org.hibernate.annotations.GenericGenerator(name = "REMINDER_HEADER_GEN", strategy = "native")@GeneratedValue(generator = "REMINDER_HEADER_GEN")@Column(name = "id", unique = true, nullable = false)@Basic(fetch = FetchType.EAGER)private long id;@OneToMany(fetch = FetchType.EAGER, orph...

mysql – 具有链接到同一主键的多个外键的表【代码】

我最近很难通过我的MySQL数据库获得我想要的查询结果 – 目前我不确定问题是与数据库还是实际查询有关. 基本上它是一个包含这些表的足球运动员数据库:(player): player_id (primary), playerName (match): match_id (primary), playerID1, playerID2, playerID3, etc..我想查询数据库,以便返回匹配数据库中的属性,但返回的是玩家的名字,而不是他们的ID. 我可以让它为一个玩家工作,而不是其他玩家.这是代码:SELECT p.Name FROM `...

mysql – 外键识别和非识别关系之间的性能差异【代码】

我只是在我的数据库中添加了一些外键,而且通常我的所有外键都没有识别,因为我从未打扰过它们,因为我从来不知道差别,而且我的数据库似乎对我来说似乎总是运行良好. 现在我已经决定,我将正确地建立这个数据库,并使外键识别和识别.我很好奇在做加入时是否与他们有任何性能差异? 谢谢解决方法:是的,通过在识别关系上创建外键,可以为连接带来一些性能优势.但它取决于查询(因为优化方法总是如此). 例如,查询给定作者的书籍:SELECT a.au...

MySQL Workbench正向工程师错误1215:无法添加外键约束【代码】

当我执行此脚本以创建2个表时,CUSTOMER表中的STORE列引用USERS表中的ID列(两列都是INT):SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';CREATE SCHEMA IF NOT EXISTS `part_finder` DEFAULT CHARACTER SET utf8 ; USE `part_finder` ;-- ----------------------...

mysql – 如何在导出表数据时禁用phpMyAdmin中的所有外键?【代码】

我导出了我的数据库的所有表.我打开生成的文件,然后我看到phpMyAdmin按table_name对查询进行排序.因此有潜在的外键问题,因为在详细表之后创建/插入主表!那么如何在使用phpMyAdmin导出表数据时禁用外键检查,以及如何在脚本结束时重新启用它们?解决方法:只需禁用外键检查,然后在执行脚本后重新启用它们:SET foreign_key_checks = 0; -- run some queries SET foreign_key_checks = 1;

mysql – 外键是否可以成为另一个表的复合主键的一部分?【代码】

我在音乐数据库中有两个(很多)表: 音乐会:ArtistID,ConcertID,ConcetName,VenueIDConcertDetails:ConcertDate,ConcertID,Cost 您看到的ConcertDetails表使用ConcertID,它也在Concerts表中.我结合了ConcertDate& ConcertID为ConcertDetails制作复合主键.但是,由于这与Concerts表中的ConcertID有关,因此它也需要是外键.这样可以吗?解决方法:当然是.主键的子集通常是外键.例如,任何多对多表都会这样做.在你的情况下:CREATE TABLE...

mysql – 错误1452(23000):无法添加或更新子行:现有表的外键约束失败【代码】

在将外键分配给现有表列时,我收到以下错误:ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (c_x_parsing.#sql-787_1, CONSTRAINT #sql-787_1_ibfk_1 FOREIGN KEY (nct_id) REFERENCES cdb (nct_id))以下是我的查询:ALTER TABLE c_int ADD FOREIGN KEY (n_id) REFERENCES cdb (n_id);我的父表是cdb cdb而子表是c_int. 请通过以下命令向我推荐解决方案:ALTER TABLE cdb ENGINE=InnoDB; A...

mysql – errno:150“外键约束形成错误”)MariaDB【代码】

当我运行以下脚本时:DROP TABLE IF EXISTS `schemaname`.`tablename` ;CREATE TABLE IF NOT EXISTS `schemaname`.`tablename` (`id` INT(11) NOT NULL AUTO_INCREMENT,`ip` VARCHAR(25) NOT NULL,`address` TEXT NULL DEFAULT NULL,PRIMARY KEY (`id`))ENGINE = InnoDBDEFAULT CHARACTER SET = latin1;它返回以下错误:Error Code: 1005. Can't create table `schemaname`.`tablename` (errno: 150 "Foreign key constraint is in...