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 ``` ```