MySQL 插入数据

用 INSERT 插入单行与多行,理解自增与主键冲突。

Beginner
Key PointsINSERT 可一次插一行或多行;自增主键不写也会自动生成。

插入单行

SQL
INSERT INTO users (username, email, age)
VALUES ('alice', 'alice@example.com', 28);
Output
Query OK, 1 row affected (0.01 sec)

插入多行

SQL
INSERT INTO users (username, email, age) VALUES
  ('bob',   'bob@example.com',   32),
  ('carol', 'carol@example.com', 25),
  ('dave',  'dave@example.com',  41);
Output
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

常见报错

SQL
-- 主键/唯一键冲突
INSERT INTO users (id, username, email) VALUES (1, 'x', 'x@e.com');
Output
ERROR 1062 (23000): Duplicate entry '1' for key 'users.PRIMARY'
For upsert use INSERT ... ON DUPLICATE KEY UPDATE or INSERT IGNORE — handy for idempotent writes.

Friends & Partners