본문 바로가기
MySql

MySQL 다른 테이블의 몇 개의 열을 기반으로 테이블을 만들고 일부 추가 열을 추가합니다.

by 베이스 공부 2021. 1. 30.
반응형

다음과 같이 할 수 있습니다.

CREATE TABLE new_table AS (
    SELECT field1, field2, field3
    FROM my_table
)

이 생성 테이블 SQL my_table 이 아니라 내가 직접 작성하고 고유 한 열을 추가하는 방법이 궁금합니다. 이 new_table 에만 적용됩니다.

위의 SQL 을 사용하여 테이블을 만든 다음 추가로 (명령이 완료된 후) 필요한 열을 추가 할 수 있다는 것을 알고 있지만이 모든 작업을 하나의 명령으로 수행 할 수 있는지 궁금합니다. 이것은 (그렇게 시도했지만 작동하지 않았습니다) :

CREATE TABLE new_table AS (
    (SELECT field1, field2, field3
    FROM my_table),
    additional_field1 INTEGER NOT NULL DEFAULT 1,
    additional_field2 VARCHAR(20) NOT NULL DEFAULT 1
)

 

해결 방법

 

생성 된 열의 데이터 유형을 명시 적으로 지정할 수도 있습니다.


CREATE TABLE new_table
(
 additional_field1 INTEGER NOT NULL DEFAULT 1,
 additional_field2 VARCHAR(20) NOT NULL DEFAULT 1
)
AS
(
 SELECT id, val,
        1 AS additional_field1,
        1 AS additional_field2
 FROM my_table
);


 

참조 페이지 https://stackoverflow.com/questions/12346864

 

 

반응형

댓글