我想将数据从表 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很陌生)。有没有更优雅的方法来做到这一点?也许在两个陈述之间“什么都不会发生”的意义上说是防弹的?提前致谢。