Skip to content

Commit 26d5eac

Browse files
Null not nilzz-jasonlilin90ti-srebot
authored
sql-statement: improve consistency, fix small errors (pingcap#3585)
* sql-statment: improve consistency, fix small errors * Update sequences, use compatibility notes * Fix COMMIT statement * Address PR feedback * Be more careful with default language. * Address PR feedback * Update sql-statements/sql-statement-begin.md Co-authored-by: Zhang Jian <[email protected]> * Update report bug link per reviewer * Update constraints.md Co-authored-by: Lilian Lee <[email protected]> * Update sql-statements/sql-statement-commit.md Co-authored-by: Lilian Lee <[email protected]> * Update sql-statements/sql-statement-commit.md Co-authored-by: Lilian Lee <[email protected]> * Update sql-statements/sql-statement-kill.md Co-authored-by: Lilian Lee <[email protected]> * Update system-variables.md Co-authored-by: Lilian Lee <[email protected]> Co-authored-by: Zhang Jian <[email protected]> Co-authored-by: Lilian Lee <[email protected]> Co-authored-by: ti-srebot <[email protected]>
1 parent 25c7542 commit 26d5eac

File tree

75 files changed

+122
-85
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+122
-85
lines changed

constraints.md

+14-6
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ SELECT * FROM users;
8080

8181
## UNIQUE KEY
8282

83-
In TiDB's optimistic transaction mode, UNIQUE constraints are [checked lazily](/transaction-overview.md#lazy-check-of-constraints) by default. By batching checks when the transaction is committed, TiDB can reduce network overhead and improve performance.
83+
Depending on the transaction mode and the value of `tidb_constraint_check_in_place`, TiDB might check `UNIQUE` constraints [lazily](/transaction-overview.md#lazy-check-of-constraints). This helps improve performance by batching network access.
8484

8585
For example:
8686

@@ -96,23 +96,31 @@ CREATE TABLE users (
9696
INSERT INTO users (username) VALUES ('dave'), ('sarah'), ('bill');
9797
```
9898

99+
With the default of pessimistic locking:
100+
99101
{{< copyable "sql" >}}
100102

101103
```sql
102-
START TRANSACTION;
104+
BEGIN;
105+
INSERT INTO users (username) VALUES ('jane'), ('chris'), ('bill');
103106
```
104107

105108
```
106-
Query OK, 0 rows affected (0.00 sec)
109+
ERROR 1062 (23000): Duplicate entry 'bill' for key 'username'
107110
```
108111

112+
With optimistic locking and `tidb_constraint_check_in_place=0`:
113+
109114
{{< copyable "sql" >}}
110115

111116
```sql
117+
BEGIN OPTIMISTIC;
112118
INSERT INTO users (username) VALUES ('jane'), ('chris'), ('bill');
113119
```
114120

115121
```
122+
Query OK, 0 rows affected (0.00 sec)
123+
116124
Query OK, 3 rows affected (0.00 sec)
117125
Records: 3 Duplicates: 0 Warnings: 0
118126
```
@@ -138,9 +146,9 @@ COMMIT;
138146
ERROR 1062 (23000): Duplicate entry 'bill' for key 'username'
139147
```
140148

141-
The first `INSERT` statement will not cause duplicate key errors, which is consistent with MySQL's rules. This check will be delayed until the transaction is committed.
149+
In the optimistic example, the unique check was delayed until the transaction is committed. This resulted in a duplicate key error, because the value `bill` was already present.
142150

143-
You can disable this behavior by setting `tidb_constraint_check_in_place` to `1`. This variable setting does not take effect on pessimistic transactions, because in the pessimistic transaction mode the constraints are always checked when the statement is executed. If this behavior is disabled, the unique constraint is checked when the statement is executed.
151+
You can disable this behavior by setting `tidb_constraint_check_in_place` to `1`. This variable setting does not take effect on pessimistic transactions, because in the pessimistic transaction mode the constraints are always checked when the statement is executed. When `tidb_constraint_check_in_place=1`, the unique constraint is checked when the statement is executed.
144152

145153
For example:
146154

@@ -167,7 +175,7 @@ Query OK, 0 rows affected (0.00 sec)
167175
{{< copyable "sql" >}}
168176

169177
```sql
170-
START TRANSACTION;
178+
BEGIN OPTIMISTIC;
171179
```
172180

173181
```

sql-statements/sql-statement-alter-database.md

+4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ alter_specification:
3030

3131
The `alter_specification` option specifies the `CHARACTER SET` and `COLLATE` of a specified database. Currently, TiDB only supports some character sets and collations. See [Character Set and Collation Support](/character-set-and-collation.md) for details.
3232

33+
## MySQL compatibility
34+
35+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
36+
3337
## See also
3438

3539
* [CREATE DATABASE](/sql-statements/sql-statement-create-database.md)

sql-statements/sql-statement-begin.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Query OK, 0 rows affected (0.01 sec)
3434

3535
## MySQL compatibility
3636

37-
You can add the `PESSIMISTIC` or `OPTIMISTIC` option to the `BEGIN` statement in TiDB to indicate the type of transaction that this statement starts.
37+
TiDB supports the syntax extension of `BEGIN PESSMISTIC` or `BEGIN OPTIMISTIC`. This enables you to override the default transactional model for your transaction.
3838

3939
## See also
4040

sql-statements/sql-statement-change-drainer.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ SHOW DRAINER STATUS;
6262

6363
## MySQL compatibility
6464

65-
MySQL dosen't support this statement.
65+
This statement is a TiDB extension to MySQL syntax.
6666

6767
## See also
6868

sql-statements/sql-statement-change-pump.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ SHOW PUMP STATUS;
6262

6363
## MySQL compatibility
6464

65-
MySQL dosen't support this statement.
65+
This statement is a TiDB extension to MySQL syntax.
6666

6767
## See also
6868

sql-statements/sql-statement-commit.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ Query OK, 0 rows affected (0.01 sec)
3838

3939
## MySQL compatibility
4040

41-
* In MySQL, with the exception of Group Replication with multiple primaries, it is not typical that a `COMMIT` statement could result in an error. By contrast, TiDB uses optimistic concurrency control and conflicts may result in `COMMIT` returning an error.
42-
* Be default, `UNIQUE` and `PRIMARY KEY` constraint checks are deferred until statement commit. This behavior can be changed by setting `tidb_constraint_check_in_place=TRUE`.
41+
* By default, TiDB 3.0.8 and later versions use [Pessimistic Locking](/pessimistic-transaction.md). When using [Optimistic Locking](/optimistic-transaction.md), it is important to consider that a `COMMIT` statement might fail because rows have been modified by another transaction.
42+
* When Optimistic Locking is enabled, `UNIQUE` and `PRIMARY KEY` constraint checks are deferred until statement commit. This results in additional situations where a a `COMMIT` statement might fail. This behavior can be changed by setting `tidb_constraint_check_in_place=TRUE`.
4343
* TiDB only has syntactic support for `CompletionTypeWithinTransaction`. Closing the connection or continuing to open a new transaction after the transaction is committed is not supported.
4444

4545
## See also

sql-statements/sql-statement-create-binding.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ mysql> EXPLAIN ANALYZE SELECT * FROM t1 WHERE b = 123;
134134

135135
## MySQL compatibility
136136

137-
This statement is a TiDB extension.
137+
This statement is a TiDB extension to MySQL syntax.
138138

139139
## See also
140140

sql-statements/sql-statement-create-database.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ mysql> SHOW TABLES;
6565

6666
## MySQL compatibility
6767

68-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
68+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
6969

7070
## See also
7171

sql-statements/sql-statement-create-role.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ mysql> SHOW TABLES IN test;
156156

157157
## MySQL compatibility
158158

159-
This statement is understood to be fully compatible with roles, which are a feature of MySQL 8.0. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
159+
This statement is understood to be fully compatible with roles, which are a feature of MySQL 8.0. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
160160

161161
## See also
162162

sql-statements/sql-statement-create-sequence.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,9 @@ You can control a sequence through the following expression functions:
298298

299299
## MySQL compatibility
300300

301-
Currently, MySQL does not have the sequence option. The TiDB sequence is borrowed from MariaDB. Except for the `SETVAL` function, all other functions have the same progressions with those functions of MariaDB.
301+
This statement is a TiDB extension. The implementation is modeled on sequences available in MariaDB.
302302

303-
Here "progression" means that the numbers in a sequence follow a certain arithmetic progression rule defined by the sequence. Although you can use `SETVAL` to set the current value of a sequence, the subsequent values of the sequence still follow the original progression rule.
303+
Except for the `SETVAL` function, all other functions have the same _progressions_ as MariaDB. Here "progression" means that the numbers in a sequence follow a certain arithmetic progression rule defined by the sequence. Although you can use `SETVAL` to set the current value of a sequence, the subsequent values of the sequence still follow the original progression rule.
304304

305305
For example:
306306

sql-statements/sql-statement-create-table-like.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ If the table to be copied is defined with the `PRE_SPLIT_REGIONS` attribute, the
5353

5454
## MySQL compatibility
5555

56-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
56+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
5757

5858
## See also
5959

sql-statements/sql-statement-deallocate.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Query OK, 0 rows affected (0.00 sec)
4545

4646
## MySQL compatibility
4747

48-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
48+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
4949

5050
## See also
5151

sql-statements/sql-statement-delete.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ mysql> SELECT * FROM t1;
5353

5454
## MySQL compatibility
5555

56-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
56+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
5757

5858
## See also
5959

sql-statements/sql-statement-do.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Query OK, 0 rows affected (2.50 sec)
5454

5555
## MySQL compatibility
5656

57-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
57+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
5858

5959
## See also
6060

sql-statements/sql-statement-drop-binding.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ Empty set (0.00 sec)
133133

134134
## MySQL compatibility
135135

136-
This statement is a TiDB extension.
136+
This statement is a TiDB extension to MySQL syntax.
137137

138138
## See also
139139

sql-statements/sql-statement-drop-database.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ mysql> SHOW DATABASES;
4848

4949
## MySQL compatibility
5050

51-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
51+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
5252

5353
## See also
5454

sql-statements/sql-statement-drop-role.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ ERROR 3530 (HY000): `analyticsteam`@`%` is is not granted to jennifer@%
200200

201201
## MySQL compatibility
202202

203-
This statement is understood to be fully compatible with roles, which are a feature of MySQL 8.0. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
203+
This statement is understood to be fully compatible with roles, which are a feature of MySQL 8.0. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
204204

205205
## See also
206206

sql-statements/sql-statement-drop-sequence.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Query OK, 0 rows affected (0.03 sec)
5050

5151
## MySQL compatibility
5252

53-
Currently, sequence object is not supported by MySQL.
53+
This statement is a TiDB extension. The implementation is modeled on sequences available in MariaDB.
5454

5555
## See also
5656

sql-statements/sql-statement-drop-stats.md

+4
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ SHOW STATS_META WHERE db_name='test' and table_name='t';
6565
Empty set (0.00 sec)
6666
```
6767

68+
## MySQL compatibility
69+
70+
This statement is a TiDB extension to MySQL syntax.
71+
6872
## See also
6973

7074
* [Introduction to Statistics](/statistics.md)

sql-statements/sql-statement-drop-view.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ mysql> SELECT * FROM t1;
7575

7676
## MySQL compatibility
7777

78-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
78+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
7979

8080
## See also
8181

sql-statements/sql-statement-execute.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Query OK, 0 rows affected (0.00 sec)
3737

3838
## MySQL compatibility
3939

40-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
40+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
4141

4242
## See also
4343

sql-statements/sql-statement-explain-analyze.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,11 @@ EXPLAIN ANALYZE SELECT * FROM t1;
9393

9494
## MySQL compatibility
9595

96-
This statement is a TiDB extension to MySQL syntax.
96+
`EXPLAIN ANALYZE` is a feature of MySQL 8.0, but both the output format and the potential execution plans in TiDB differ substaintially from MySQL.
9797

9898
## See also
9999

100100
* [Understanding the Query Execution Plan](/query-execution-plan.md)
101101
* [EXPLAIN](/sql-statements/sql-statement-explain.md)
102102
* [ANALYZE TABLE](/sql-statements/sql-statement-analyze-table.md)
103-
* [TRACE](/sql-statements/sql-statement-trace.md)
103+
* [TRACE](/sql-statements/sql-statement-trace.md)

sql-statements/sql-statement-flashback-table.md

+4
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,7 @@ From the above process, you can see that TiDB always operates on the metadata of
100100
> You cannot use `FLASHBACK` statements to restore the same deleted table multiple times, because the ID of the restored table is the same ID of the dropped table, and TiDB requires that all existing tables must have a globally unique table ID.
101101
102102
The `FLASHBACK TABLE` operation is done by TiDB obtaining the table metadata through snapshot read, and then going through the process of table creation similar to `CREATE TABLE`. Therefore, `FLASHBACK TABLE` is, in essence, a kind of DDL operation.
103+
104+
## MySQL compatibility
105+
106+
This statement is a TiDB extension to MySQL syntax.

sql-statements/sql-statement-flush-privileges.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Query OK, 0 rows affected (0.01 sec)
3232

3333
## MySQL compatibility
3434

35-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
35+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
3636

3737
## See also
3838

sql-statements/sql-statement-flush-tables.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ ERROR 1105 (HY000): FLUSH TABLES WITH READ LOCK is not supported. Please use @@
5050

5151
## MySQL compatibility
5252

53-
* TiDB does not have a concept of table cache as in MySQL. Thus, `FLUSH TABLES` is parsed but ignored in TiDB for compatibility.
54-
* The statement `FLUSH TABLES WITH READ LOCK` produces an error, as TiDB does not currently support locking tables. It is recommended to use [Historical reads] for this purpose instead.
53+
* TiDB does not have a concept of table cache as in MySQL. Thus, `FLUSH TABLES` is parsed but ignored in TiDB for compatibility.
54+
* The statement `FLUSH TABLES WITH READ LOCK` produces an error, as TiDB does not currently support locking tables. It is recommended to use [Historical reads](/read-historical-data.md) for this purpose instead.
5555

5656
## See also
5757

sql-statements/sql-statement-grant-role.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ mysql> SHOW TABLES IN test;
156156

157157
## MySQL compatibility
158158

159-
This statement is understood to be fully compatible with roles, which are a feature of MySQL 8.0. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
159+
This statement is understood to be fully compatible with roles, which are a feature of MySQL 8.0. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
160160

161161
## See also
162162

sql-statements/sql-statement-insert.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ mysql> SELECT * FROM t2;
102102

103103
## MySQL compatibility
104104

105-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
105+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
106106

107107
## See also
108108

sql-statements/sql-statement-kill.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ aliases: ['/docs/dev/sql-statements/sql-statement-kill/','/docs/dev/reference/sq
88

99
The statement `KILL TIDB` is used to terminate connections in TiDB.
1010

11-
By design, this statement is not compatible with MySQL by default. This helps prevent against a case of a connection being terminated on the wrong TiDB server, since it is common to place multiple TiDB servers behind a load balancer.
12-
1311
## Synopsis
1412

1513
**KillStmt:**
@@ -38,6 +36,7 @@ Query OK, 0 rows affected (0.00 sec)
3836

3937
## MySQL compatibility
4038

39+
* By design, this statement is not compatible with MySQL by default. This helps prevent against a case of a connection being terminated on the wrong TiDB server, because it is common to place multiple TiDB servers behind a load balancer.
4140
* The `KILL TIDB` statement is a TiDB extension. If you are certain that the session you are attempting to kill is on the same TiDB server, set [`compatible-kill-query = true`](/tidb-configuration-file.md#compatible-kill-query) in your configuration file.
4241

4342
## See also

sql-statements/sql-statement-load-data.md

-1
Original file line numberDiff line numberDiff line change
@@ -113,5 +113,4 @@ In the above example, `x'2c'` is the hexadecimal representation of the `,` chara
113113
## See also
114114

115115
* [INSERT](/sql-statements/sql-statement-insert.md)
116-
* [Optimistic Transaction Model](/optimistic-transaction.md)
117116
* [Import Example Database](/import-example-data.md)

sql-statements/sql-statement-load-stats.md

+4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ LOAD STATS '/tmp/stats.json';
3232
Query OK, 0 rows affected (0.00 sec)
3333
```
3434

35+
## MySQL compatibility
36+
37+
This statement is a TiDB extension to MySQL syntax.
38+
3539
## See also
3640

3741
* [Statistics](/statistics.md)

sql-statements/sql-statement-prepare.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Query OK, 0 rows affected (0.00 sec)
4141

4242
## MySQL compatibility
4343

44-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
44+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
4545

4646
## See also
4747

sql-statements/sql-statement-recover-table.md

+4
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,7 @@ When deleting a table, TiDB only deletes the table metadata, and writes the tabl
123123
Therefore, to recover a table, you only need to recover the table metadata and delete the corresponding row record in the `mysql.gc_delete_range` table before the GC Worker deletes the table data. You can use a snapshot read of TiDB to recover the table metadata. Refer to [Read Historical Data](/read-historical-data.md) for details.
124124

125125
Table recovery is done by TiDB obtaining the table metadata through snapshot read, and then going through the process of table creation similar to `CREATE TABLE`. Therefore, `RECOVER TABLE` itself is, in essence, a kind of DDL operation.
126+
127+
## MySQL compatibility
128+
129+
This statement is a TiDB extension to MySQL syntax.

sql-statements/sql-statement-rename-index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Create Table: CREATE TABLE `t1` (
5252

5353
## MySQL compatibility
5454

55-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
55+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
5656

5757
## See also
5858

sql-statements/sql-statement-rename-table.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ mysql> SHOW TABLES;
4646

4747
## MySQL compatibility
4848

49-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
49+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
5050

5151
## See also
5252

sql-statements/sql-statement-replace.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ mysql> SELECT * FROM t1;
7070

7171
## MySQL compatibility
7272

73-
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](/report-issue.md) on GitHub.
73+
This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
7474

7575
## See also
7676

0 commit comments

Comments
 (0)