Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

첫 번째 테이블에서 최대 ID 값을 가져오고 MySQL INSERT INTO 선택을 사용하여 다른 테이블의 모든 ID에 삽입하시겠습니까?

<시간/>

먼저 테이블을 생성하겠습니다 -

mysql> 테이블 생성 DemoTable1( Id int, Name varchar(100));Query OK, 영향을 받는 행 0개(0.86초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1 values(1001,'Chris');Query OK, 1개의 row가 영향을 받았습니다(0.10초)mysql> insert into DemoTable1 values(999,'Robert');Query OK, 1개의 row가 영향을 받았습니다(0.13초). )mysql> insert into DemoTable1 values(1003,'Mike');Query OK, 1개의 row가 영향을 받았다(0.17초)mysql> insert into DemoTable1 values(1002,'Sam');Query OK, 1개의 row가 영향을 받았다(0.13초) /사전> 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> Select *from DemoTable1;

이것은 다음과 같은 출력을 생성합니다 -

+------+--------+| 아이디 | 이름 |+------+--------+| 1001 | 크리스 || 999 | 로버트 || 1003 | 마이크 || 1002 | Sam |+------+--------+4행 세트(0.00초)

다음은 두 번째 테이블을 생성하는 쿼리입니다 -

mysql> 테이블 생성 DemoTable2( StudentId int, StudentFirstName varchar(100));Query OK, 영향을 받는 행 0개(1.15초)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 여기에 첫 번째 테이블의 최대 ID 값을 두 번째 테이블의 StudentID 열에 삽입했습니다 -

mysql> insert into DemoTable2(StudentId,StudentFirstName) select (DemoTable1에서 Max(Id) 선택), DemoTable1에서 이름, 쿼리 확인, 영향을 받는 행 4개(0.20초) 레코드:4 중복:0 경고:0

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> Select *from DemoTable1;

이것은 다음과 같은 출력을 생성합니다 -

+-----------+------------------+| 학생 ID | 학생이름 |+-----------+------------------+| 1003 | 크리스 || 1003 | 로버트 || 1003 | 마이크 || 1003 | Sam |+--------+------------------+세트의 행 4개(0.00초)