我正在使用innodb约束在我的应用程序的下一个版本中引入数据库完整性.一切顺利,但我的一些表有记录与删除的引用(死记录),因为他们我不能添加约束到表.

我在尝试:

ALTER TABLE `article` ADD FOREIGN KEY (`author_id`) REFERENCES `authors` (`id`) ON DELETE CASCADE;

我得到:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`books`.<result 2 when explaining filename '#sql-442_dc'>, CONSTRAINT `#sql-442_dc_ibfk_1` FOREIGN KEY (`author_id`) REFERENCES `authors` (`id`) ON DELETE CASCADE)

运行此查询,我发现超过500条记录没有引用(作者被删除,但他们的文章仍然存在):

SELECT `articles`.`id`

FROM `articles` LEFT JOIN `authors` ON `articles`.`author_id` = `authors`.`id`

WHERE ISNULL(`authors`.`id`);

所以,在我添加约束之前,我必须处理这些问题.如何删除使用上述查询获得的所有记录?

我试过了:

DELETE FROM `articles` WHERE `id` IN (

SELECT `articles`.`id`

FROM `articles` LEFT JOIN `authors` ON `articles`.`author_id` = `authors`.`id`

WHERE ISNULL(`authors`.`id`);

)

但是mysql响应:

You can't specify target table 'articles' for update in FROM clause

任何有关这方面的帮助将不胜感激.

mysql数据传输完整性_mysql – 处理数据库完整性相关推荐

  1. mysql 完整性概念_数据库完整性是什么概念?

    一.完整性的概念 之所以要引入数据完整性是为了在数据的添加.删除.修改等操作中不出现数据的破坏或多个表数据不一致.数据完整性是指存储在数据库中的数据正确无误并且相关数据具有一致性. 二.完整性的类型 ...

  2. mysql 字段操作_Mysql:数据库操作、数据表操作、字段操作整理

    mysql 登录本机 mysql -u root -p password 数据库操作 创建数据库 命令:create database 例如:mysql> create database xhk ...

  3. 菜鸟教程mysql创建表_MySQL 创建数据库 | 菜鸟教程

    MySQL 创建数据库 使用 mysqladmin 创建数据库 使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用户拥有最高权限,可以 ...

  4. mysql删除库_MySQL 删除数据库的两种方法

    使用 mysqladmin 删除数据库 使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 ...

  5. mysql with语句_MySQL列举数据库(SHOW DATABASES语句)

    数据库是一个专门存储数据对象的容器,每一个数据库都有唯一的名称,并且数据库的名称都是有实际意义的,这样就可以清晰的看出每个数据库用来存放什么数据.在 MySQL 数据库中存在系统数据库和自定义数据库, ...

  6. mysql同步 触发器_mysql 触发器(数据库的同步)

    1)准备 分别创建数据库test1 test2  以及user_tb 表并初始化一些测试数据 create database test1; create table  test1.user_tb( u ...

  7. 查询mysql所有对象_Mysql查看数据库对象(SQL命令总结)

    标签:Mysql查看数据库对象(SQL命令总结) 数据的对象包括表,视图,触发器,等等(查看统计信息的必须进入information_schema 数据库) 举例查看表相关的信息,步骤如下 1.使用i ...

  8. mysql 接口访问_MySQL的数据库访问接口-阿里云开发者社区

    大部分流行的关系数据库产品采用的都是 C/S 架构.因此,应用程序要访问数据库的数据就必须和各种数据库客户端(也称为数据库访问接口)打交道.可以这么认为,每一种流行的编程语言都需要一个对应的数据库访问 ...

  9. mysql 表大小_MySQL查看数据库表容量大小的方法示例

    本文介绍MySQL查看数据库表容量大小的命令语句,提供完整查询语句及实例,方便大家学习使用. 1.查看所有数据库容量大小 select table_schema as '数据库', sum(table ...

最新文章

  1. 中兴V880使用手记之五——刷入recovery
  2. 推箱子2-向右推!_保持冷静,砍箱子-me脚
  3. SSH基本简介及连接交互过程
  4. 我的编码规范(慢慢补充)
  5. html php 混编 H1,在一个HTML中h1标签能出现几次?h1标签和标题标签的差别是什么?...
  6. 解决MySQL使用LOAD导入中文数据乱码的问题
  7. 学习 MySQL中导入 导出CSV
  8. 家卫士扫地机器人好吗_扫地机器人哪个牌子好?市场最全智能扫地机器人品牌解析_扫地机器人...
  9. CVPR2021论文整理
  10. demo VelocityTracker
  11. 软件测试--面试时怎么介绍前公司的项目经验
  12. 航旅纵横被质疑泄露用户数据;杭州网警破获67万台电脑数据遭黑客偷窃案;简历倒卖黑产:低至3毛一条,700元买采集器可无限量导数据...
  13. 十七、面相对象的进阶
  14. lempel ziv算法c语言,数学之路-python计算实战(4)-Lempel-Ziv压缩(2)(示例代码)
  15. 购买的Microsoft Office不小心卸载后重新安装方法
  16. PostgreSQL汉字转拼音
  17. Matlab R2017b 自动驾驶工具箱学习笔记(2)_Tutorials_Visual Perception Using Monocular Camera
  18. Linux 实战技巧 --vi/vim 的使用
  19. SLAM中的退化问题
  20. 以太坊网络区块浏览器blocksout技术简要分析

热门文章

  1. rxjs里switchMap operators的用法
  2. 使用Angular依赖注入自定义SAP Spartacus的ProductAdapter
  3. 2020-9-16晚上导师问我Spartacus的学习进度,我的回答
  4. Angular Component的加载触发时机
  5. 把自定义url配置到SAP Fiori Launchpad上打开
  6. Some Fiori offline screenshot in Mac
  7. 阮一峰react demo代码研究的学习笔记 - Chrome extension - react tool
  8. What does SAP UI5 bindItem occurs
  9. SAP Fiori extension hook added via note
  10. SAP CRM partner主数据的地址格式设计