TiDBTiDB Docs Dash 2024

Jan 9 - Jan 12 (UTC)
Join us to improve docs and win a prize!
Sign InTry Free

INSERT

This statement inserts new rows into a table.

Synopsis

InsertIntoStmt
INSERTTableOptimizerHintsPriorityOptIgnoreOptionalIntoOptTableNamePartitionNameListOptInsertValuesOnDuplicateKeyUpdate
TableOptimizerHints
hintComment
PriorityOpt
LOW_PRIORITYHIGH_PRIORITYDELAYED
IgnoreOptional
IGNORE
IntoOpt
INTO
TableName
Identifier.Identifier
PartitionNameListOpt
PARTITION(Identifier,)
InsertValues
(ColumnNameListOpt)ValueSymValuesListSelectStmt(SelectStmt)UnionStmtSelectStmt)ValueSymValuesListSelectStmtUnionStmtSETColumnSetValue,ColumnSetValue
OnDuplicateKeyUpdate
ONDUPLICATEKEYUPDATEAssignmentList

Examples

mysql> CREATE TABLE t1 (a INT); Query OK, 0 rows affected (0.11 sec) mysql> CREATE TABLE t2 LIKE t1; Query OK, 0 rows affected (0.11 sec) mysql> INSERT INTO t1 VALUES (1); Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO t1 (a) VALUES (1); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO t2 SELECT * FROM t1; Query OK, 2 rows affected (0.01 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM t1; +------+ | a | +------+ | 1 | | 1 | +------+ 2 rows in set (0.00 sec) mysql> SELECT * FROM t2; +------+ | a | +------+ | 1 | | 1 | +------+ 2 rows in set (0.00 sec) mysql> INSERT INTO t2 VALUES (2),(3),(4); Query OK, 3 rows affected (0.02 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM t2; +------+ | a | +------+ | 1 | | 1 | | 2 | | 3 | | 4 | +------+ 5 rows in set (0.00 sec)

MySQL compatibility

The INSERT statement in TiDB is fully compatible with MySQL. If you find any compatibility differences, report a bug.

See also

Was this page helpful?

Download PDFRequest docs changesAsk questions on Discord
Playground
New
One-stop & interactive experience of TiDB's capabilities WITHOUT registration.
Products
TiDB
TiDB Dedicated
TiDB Serverless
Pricing
Get Demo
Get Started
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.