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

当外键存在时,MySQL 5.5外键约束失败【代码】

刚刚在mac os x 10.6上安装了MySQL 5.5,并且在许多表上都有一个奇怪的问题.以下是一个例子.插入行失败时带有外键约束,但不应该.它引用的外键确实存在.有任何想法吗?mysql> show create table Language; +----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------...

MySQL:ERROR 1215(HY000):无法添加外键约束【代码】

我读过数据库系统概念,第6版,Silberschatz.我将在MySQL的OS X上实现第2章中所示的大学数据库系统.但是我在创建表课程时遇到了麻烦.表部门看起来像mysql> select * from department-> ; +------------+----------+-----------+ | dept_name | building | budget | +------------+----------+-----------+ | Biology | Watson | 90000.00 | | Comp. Sci. | Taylor | 100000.00 | | Elec. Eng. | Taylor | 85000.00 | ...

mysql – 如何截断外键约束表?【代码】

为什么mygroup上的TRUNCATE不起作用?即使我有ON DELETE CASCADE SET我得到:ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (mytest.instance, CONSTRAINT instance_ibfk_1 FOREIGN KEY (GroupID) REFERENCES mytest.mygroup (ID))drop database mytest; create database mytest; use mytest;CREATE TABLE mygroup (ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ) ENGINE=InnoDB;CREATE...

MySQL 如何删除有外键约束的表数据

在MySQL中删除一张表或一条数据的时候,出现[Err] 1451 -Cannot deleteorupdatea parent row:aforeignkeyconstraintfails (...)这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。禁用外键约束,我们可以使用:SETFOREIGN_KEY_CHECKS=0;然后再删除数据启动外键约束,我们可以使用:SETFOREIGN_KEY_CHECKS=1;查看当前FOREIGN_KEY_CHECKS的值,可用如下命令:SELECT ...

mysql – ON DUPLICATE KEY UPDATE导致外键约束错误【代码】

我搜索了StackOverflow,但我找不到我的具体问题的答案. 最近,我已成为使用“INSERT INTO … ON DUPLICATE KEY UPDATE”更新记录列表的忠实粉丝.但是,我遇到以下问题的问题:INSERT INTO itens (prod_id, qtd) VALUES (410, 1),(442, -1) ON DUPLICATE KEY UPDATE qtd = qtd + VALUES(qtd)这导致错误:“无法添加或更新子行:外键约束失败.” 这是该表的结构. “carrinho_id”是一把外键.我很困惑的事实是我没有尝试用外键做任何事情...

mysql – create … select语句中的外键约束会发生什么?【代码】

只是想知道在使用CREATE … SELECT语句复制源表的外键约束时会发生什么.是否会复制或忽略引用约束? 这是一个例子:CREATE TABLE foo(a int, b int, PRIMARY KEY(a)); CREATE TABLE source(id int, a int, PRIMARY KEY(id), FOREIGN KEY(a) REFERENCES foo(a));CREATE TABLE target SELECT * FROM source;所以,我的问题是,如果目标上的属性a也指向foo(a)?如果答案是供应商特定的,我正在寻找MySQL的答案.解决方法:不,它不会在目标中...

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

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

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中删除了两个表中的选定行,这两个表都有外键.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 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 – 错误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...

MySQL / InnoDB的外键约束

我尝试使用varchar外键和int外键进行一些性能测试,并想知道外键约束如何影响MySQL的性能. 我认为它们会影响插入/更新程度,但我不会在测试中担心这一点.我想知道它们是否影响SELECT语句以及它们是否影响数据/索引大小?解决方法:“整数比字符更便宜,因为字符集和排序规则(排序规则)使字符比较变得复杂.当用作索引列时,整数非常好.” – HottestGuide

mysql – 视图是否需要自己的外键约束?【代码】

免责声明:我是程序员,而不是DBA,所以请耐心等待…… 我有一个视图,我用它来将2个实体映射到一起.我必须在几个不同的表之间进行连接才能得到它:CREATE OR REPLACE VIEW V_SCREENING_GROUP_SITES AS ( SELECT SG.SCREENING_GROUP_ID, V.SITE_ID FROM SCREENING_GROUP SG, VISIT V, VISIT_DATE VD WHERE VD.VISIT_ID = V.VISIT_ID AND V.SCREENING_GROUP_ID = SG.SCREENING_GROUP_ID);以上仅供上下文使用,不要过于担心.我需要知道的...