From 9fdc97494b9da3d2b90c5de6bc5b03f793c0146a Mon Sep 17 00:00:00 2001 From: Ti Chi Robot Date: Tue, 8 Oct 2024 23:38:43 +0800 Subject: [PATCH] non-transactional-dml: update t3. to t3.id (#18746) (#18749) --- non-transactional-dml.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/non-transactional-dml.md b/non-transactional-dml.md index 8a792df45048..afee2fece7e0 100644 --- a/non-transactional-dml.md +++ b/non-transactional-dml.md @@ -334,7 +334,7 @@ batch-dml 是一种在 DML 语句执行期间将一个事务拆成多个事务 ```sql BATCH ON test.t2.id LIMIT 1 INSERT INTO t -SELECT t2.id, t2.v, t3. FROM t2, t3 WHERE t2.id = t3.id +SELECT t2.id, t2.v, t3.id FROM t2, t3 WHERE t2.id = t3.id ``` ```sql @@ -346,7 +346,7 @@ SELECT t2.id, t2.v, t3. FROM t2, t3 WHERE t2.id = t3.id ```sql BATCH ON test.t2.id LIMIT 1 DRY RUN QUERY INSERT INTO t -SELECT t2.id, t2.v, t3. FROM t2, t3 WHERE t2.id = t3.id +SELECT t2.id, t2.v, t3.id FROM t2, t3 WHERE t2.id = t3.id ``` 要避免该错误,可以尝试将 `WHERE` 子句中涉及其它表的条件移动到 `JOIN` 的 `ON` 条件中。例如: @@ -354,7 +354,7 @@ SELECT t2.id, t2.v, t3. FROM t2, t3 WHERE t2.id = t3.id ```sql BATCH ON test.t2.id LIMIT 1 INSERT INTO t -SELECT t2.id, t2.v, t3. FROM t2 JOIN t3 ON t2.id=t3.id +SELECT t2.id, t2.v, t3.id FROM t2 JOIN t3 ON t2.id = t3.id ``` ```