mysql - 在 MySQL 中创建过程

标签 mysql stored-procedures

CREATE DEFINER=`root`@`localhost` PROCEDURE `msgbackup`()
BEGIN
    INSERT INTO messenger_backup SELECT * FROM messenger;
END

表messenger:id、client_id、admin_id、messenger、ref_id、status、timestamp。

如何检索数据 > 7 天 messenger_backup 复制表。由于7天内的数据,仍然保留在信使表中。 例子:如果表中的数据是10天,messenger会把3天的数据copy到messenger_backup表。

最佳答案

使用 DATE(NOW()) - INTERVAL 7 选择旧数据

CREATE DEFINER=`root`@`localhost` PROCEDURE `msgbackup`()
BEGIN
INSERT INTO messenger_backup
Select * From messengerWHERE timestamp < DATE(NOW()) - INTERVAL 7 DAY
END

关于mysql - 在 MySQL 中创建过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33623635/

相关文章:

php - 从不同的mysql表中获取时间总和

mysql - 为什么where子句中的大于会导致全表扫描?

mysql - 在mysql过程中的临时表中插入值

mysql - 将多个 SQL Insert 语句转换为一个 Insert 语句

mysql - 无法创建 MySQL/MariaDB 存储过程

mysql - 如何在 MySQL UPDATE 语句中模拟 OFFSET?

GROUP BY 和 JOIN 的 MySQL 性能

r - 使用 R 服务将带引号的字符串作为输入参数传递给 SQL Server 2016 存储过程

mysql - SQL 一对多连接 - 多个表

sql-server - 存储过程执行需要时间