如何使用mysql从两个表中查找最新插入的数据

时间:2016-12-05 12:56:18

标签: mysql sql

我有两个表名 tbl_audio和tbl_video。 两个表都有相同的东西。 id,name,date,u_id。

这里u_id是外键。 现在我想显示两个表中最后上传的文件。 假设

this is tbl_audio

this is tbl_video

这里video3是根据两个表中的日期最后上传的文件。我希望通过加入两个表来找到这个名称(video3)。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

您应该将两个表合并,并按日期查找前1个:

SELECT * 
FROM
(
 SELECT id, name, date, u_id FROM tbl_audio
  UNION ALL
 SELECT id, name, date, u_id FROM tbl_video
) as T
ORDER BY Date DESC
LIMIT 1

另请考虑使用一个表格存储所有数据tbl_media以及其他字段media_type(音频或视频)。

答案 1 :(得分:0)

尝试使用触发器。您可以创建日志表以保存上一个插入。触发 INSTER INSERT 将始终更新日志表。

关于创建触发器,您可以在documentation

中阅读

答案 2 :(得分:0)

您可以使用MAX()功能并获取表格中的最新条目,如

select max(name) as latest_video
from tbl_video;

如果您想要匹配的u_id上的两个表中的数据,请在它们之间执行JOIN并使用max()函数获取最新的音频/视频文件名。