MySQL 如何正确使用 INSERT INTO SELECT 避免 Error 1064
首先,让我们创建一个表 –
mysql> create table DemoTable1
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName varchar(100)
-> );
Query OK, 0 rows affected (0.57 sec)
使用 insert 命令向表中插入一些记录 –
mysql> insert into DemoTable1(FirstName) values('John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1(FirstName) values('Chris');
Query OK, 1 row affected (0.13 sec)
使用 select 语句从表中显示所有记录 –
mysql> select *from DemoTable1;
这将产生以下输出 –
+----+-----------+
| Id | FirstName |
+----+-----------+
| 1 | John |
| 2 | Chris |
+----+-----------+
2 rows in set (0.00 sec)
现在创建第二个表 –
mysql> create table DemoTable2
-> (
-> CustomerId int,
-> CustomerName varchar(100)
-> );
Query OK, 0 rows affected (0.43 sec)
现在您可以使用 INSERT INTO SELECT 命令向上述表中插入一些记录 –
mysql> insert into DemoTable2(CustomerId,CustomerName)
-> select Id,FirstName from DemoTable1;
Query OK, 2 rows affected (0.17 sec)
Records: 2 Duplicates: 0 Warnings: 0
使用 select 语句从表中显示所有记录 –
mysql> select *from DemoTable2;
这将产生以下输出 –
+------------+--------------+
| CustomerId | CustomerName |
+------------+--------------+
| 1 | John |
| 2 | Chris |
+------------+--------------+
2 rows in set (0.00 sec)
阅读更多:MySQL 教程