从第一个表中获取最大 ID 值并使用 MySQL INSERT INTO select 插入到另一个表中的所有 ID?
让我们首先创建一个表 −
mysql> create table DemoTable1 ( Id int, Name varchar(100) ); Query OK, 0 rows affected (0.86 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable1 values(1001,'Chris'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable1 values(999,'Robert'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1 values(1003,'Mike'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable1 values(1002,'Sam'); Query OK, 1 row affected (0.13 sec)
使用 select 语句从表中显示所有记录 −
mysql> select *from DemoTable1;
这将显示以下输出 −
+------+--------+ | Id | Name | +------+--------+ | 1001 | Chris | | 999 | Robert | | 1003 | Mike | | 1002 | Sam | +------+--------+ 4 rows in set (0.00 sec)
以下是创建第二个表所用的查询 −
mysql> create table DemoTable2 ( StudentId int, StudentFirstName varchar(100) ); Query OK, 0 rows affected (1.15 sec)
使用 insert 命令在表中插入一些记录。我们在这里将第一个表中的最大 ID 值插入到第二个表的 StudentID 列中 −
mysql> insert into DemoTable2(StudentId,StudentFirstName) select (select Max(Id) from DemoTable1), Name from DemoTable1; Query OK, 4 rows affected (0.20 sec) Records: 4 Duplicates: 0 Warnings: 0
使用 select 语句从表中显示所有记录 −
mysql> select *from DemoTable1;
这将显示以下输出 −
+-----------+------------------+ | StudentId | StudentFirstName | +-----------+------------------+ | 1003 | Chris | | 1003 | Robert | | 1003 | Mike | | 1003 | Sam | +-----------+------------------+ 4 rows in set (0.00 sec)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP