mysql – 从两个表中删除连接?

我有两张表如下

tbl1              tbl2
id                article_id
title,image
whole_news
tags,author,older (datetime)

其中tbl1.id – > tbl2.article_id

如何删除两个表中较旧的表的记录< 2008-02-10 00:00:00?

最佳答案
请参阅我对类似问题here的回答.

总而言之,它看起来像

 delete s,r from tbl1 s left join tbl2 r on s.id = r.article_id where s.older < str_to_date('2008-02-10 00:00:00','%Y-%m-%d %H:%i:%S');

但更好的解决方案是使用on delete cascade的外键约束,如果这是一个选项,那么只需使用相应的where子句从tbl1删除.

相关文章

昨天的考试过程中,有个考点的服务器蓝屏重启后发现Mysql启动不了(5.6.45 x32版本,使用innoDB),重装后...
整数类型 标准 SQL 中支持 INTEGER 和 SMALLINT 这两种类型,MySQL 数据库除了支持这两种类型以外,还扩...
一条 SQL 查询语句结构如下: SELECT DISTINCT &lt;select_list&gt; FROM &lt;left_table&...
数据备份 1. 备份数据库 使用 mysqldump 命令可以将数据库中的数据备份成一个文本文件,表的结构和数据...
概述 在实际工作中,在关系数据库(MySQL、PostgreSQL)的单表数据量上亿后,往往会出现查询和分析变慢...
概述 触发器是 MySQL 的数据库对象之一,不需要程序调用或手工启动,而是由事件来触发、激活,从而实现...