mysql - 如何在更新的行上查询插入?

标签 mysql sql sql-update

嘿,我正在尝试更新一个表并创建一个插入行到另一个表。

我有这个更新查询:

UPDATE logs_month SET status ='1'
WHERE DATE_FORMAT(month,"%m/%y") = '11/12' 

我希望它是这样的:

UPDATE logs_month SET status ='1',
(INSERT INTO some_table (columns) values (values from the updated row))
WHERE DATE_FORMAT(month,"%m/%y") = '11/12' 

如何做到这一点?

我不想使用 2 个查询,因为这个更新可能会在一个月内发生几次,我只想插入当前更新的行以防止重复,而不使用唯一索引。

最佳答案

UPDATE logs_month SET status ='1'
WHERE DATE_FORMAT(month,"%m/%y") = '11/12';
COMMIT;
INSERT INTO some_table (columns) values (select columns
from logs_month where DATE_FORMAT(month,"%m/%y") = '11/12';

您也可以使用TRIGGER

DELIMITER $$
CREATE TRIGGER `logs_m` 
AFTER UPDATE ON `logs_month`
FOR EACH ROW 
BEGIN
    IF NEW.status=1 THEN
    INSERT INTO some_table (field) values (NEW.field);
    END IF;
END$$

DELIMITER ;

你可以这样做

关于mysql - 如何在更新的行上查询插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14091654/

相关文章:

sql - Excel VBA 中 SQL 更新函数的正确语法

MySQL 触发器和过程

android - ORDER BY 不对记录进行排序

sql - 使用强制转换将 varchar 转换为日期

mysql - 为什么查询不会因子查询中不存在的列而失败?

php - MySQL函数: in clause HAVING query runs twice

sql - Oracle UPDATE 使用包含 JOIN 的 SELECT 语句

java - Hibernate (JPA) - 无缘无故的奇怪更新

mysql - 如何从 wordpress docker 建立数据库连接

php - CSS 类在 PHP 脚本后不起作用