Mysql 删除行并返回已删除行的id

Mysql 删除行并返回已删除行的id,mysql,sql,Mysql,Sql,是否可以删除一行并返回已删除行的值 范例 从表中删除,时间> p>从表中选择ID,在时间> p>中,如果您想控制数据库中的操作,可以考虑使用日志表。关于这件事,我有个疑问 它们是一个镜像表,通常由执行操作(更新、删除)的触发器填充。它存储“旧值”(您始终可以从主表中获取的当前值) 如果是这样实现的,那么您可以从日志表中进行选择,并获得所需的内容 试着给你举个例子: 表用户 CREATE TABLE USER ( INT id, VARCHAR name ) 表USER_JN CRE

是否可以删除一行并返回已删除行的值

范例
<代码>从表中删除,时间> p>从表中选择ID,在时间> p>中,如果您想控制数据库中的操作,可以考虑使用日志表。关于这件事,我有个疑问

它们是一个镜像表,通常由执行操作(更新、删除)的触发器填充。它存储“旧值”(您始终可以从主表中获取的当前值)

如果是这样实现的,那么您可以从日志表中进行选择,并获得所需的内容

试着给你举个例子:

表用户

CREATE TABLE USER (
   INT id,
   VARCHAR name
)
表USER_JN

CREATE TABLE USER_JN (
    INT id,
    VARCHAR name,
    VARCHAR operation
)
然后,对于每个操作,您都可以填充用户_JN并拥有所有更改的历史记录(其中不应包含约束)

如果删除,您的
操作
列将具有
删除
值,您可以使用select检查该值

这并不完全是“选择删除的行”,而是一种使之成为可能的方法


希望它能有所帮助。

谢谢你提供的信息,但是我想知道是否有一种方法可以在一行中完成它?当然,请调用存储过程。一句话。我不是这方面的专家,但我能想到的唯一一件事是使用一个存储的infoWell触发器是自动运行的插入更新删除。因此,如果这不是预期的行为,那么不要这样做。但是,您可以执行一个事件,该事件按照计划触发,比如cron,但在没有cron的情况下烘焙到mysql中。看和@bishop谢谢你,巴德,但是那一条看起来只适用于最后一条路。谢谢汤姆,我想我会走这条路。很好。这种方法也适用于系统审计。干杯