0

我想将数据从表 TB 传输到今天之前输入的表 TA,并将复制的数据在 TA 中标记为“已复制”。整个事情必须按照惯例发生。我的实际代码是

BEGIN

INSERT INTO 
    `TA` (
        `a`,
        `b`,
        `c`,
    ) 
SELECT 
    `a`,
    `b`,
    `somedate`
FROM 
    `TB`
WHERE 
    `somedate`<NOW()        

UPDATE 
    `TB`
SET `status`='copied'
WHERE 
    `somedate`<NOW();

END

所以我有两个“查询”(这个名字正确吗? - 我对mysql很陌生)。有没有更优雅的方法来做到这一点?也许在两个陈述之间“什么都不会发生”的意义上说是防弹的?提前致谢。

4

0 回答 0