Skip to content

Commit

Permalink
non-transactional-dml: update t3. to t3.id (#18746) (#18749)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Oct 8, 2024
1 parent 8f79b60 commit 9fdc974
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions non-transactional-dml.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -346,15 +346,15 @@ 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` 条件中。例如:

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

```
Expand Down

0 comments on commit 9fdc974

Please sign in to comment.