MySQL을 사용하고 있습니다. EMP라는 테이블이 있는데 이제 동일한 스키마, 동일한 열 및 동일한 제약 조건을 가진 테이블 (EMP_TWO)을 하나 더 만들어야합니다. 어떻게 할 수 있습니까?
MySQL을 사용하고 있습니다. EMP라는 테이블이 있는데 이제 동일한 스키마, 동일한 열 및 동일한 제약 조건을 가진 테이블 (EMP_TWO)을 하나 더 만들어야합니다. 어떻게 할 수 있습니까?
답변:
다른 테이블 구조 / 제약 조건을 기반으로 새 테이블을 만들려면 다음을 사용하십시오.
CREATE TABLE new_table LIKE old_table;
필요한 경우 데이터를 복사하려면
INSERT INTO new_table SELECT * FROM old_table;
LIKE 옵션에 대한 참고 사항에 유의하십시오.
LIKE를 사용하여 원래 테이블에 정의 된 열 속성 및 인덱스를 포함하여 다른 테이블의 정의를 기반으로 빈 테이블을 만듭니다.
CREATE TABLE new_table LIKE original_table; 복사본은 원본 테이블과 동일한 버전의 테이블 스토리지 형식을 사용하여 생성됩니다. 원본 테이블에 대한 SELECT 권한이 필요합니다.
LIKE는 뷰가 아닌 기본 테이블에서만 작동합니다.
CREATE TABLE ... LIKE는 원래 테이블 또는 외부 키 정의에 대해 지정된 DATA DIRECTORY 또는 INDEX DIRECTORY 테이블 옵션을 보존하지 않습니다.
LIKE
에서 사용할 수 있다는 사실을 완전히 알지 못했습니다 CREATE
.
CREATE TABLE new_db.new_table LIKE old_db.old_table
:)
이대로 가지 그래
CREATE TABLE new_table LIKE Select * from Old_Table;
또는 다음과 같은 데이터를 필터링하여 이동할 수 있습니다.
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
새 테이블에 동일한 제약 조건을 적용하려면 먼저 스키마를 생성 한 다음 스키마 생성을위한 데이터로 이동해야합니다.
CREATE TABLE new_table LIKE Some_other_Table;
like
하고 select *
하나 개의 문장에서? 오류가 발생합니다. 또한이 답변을 확인하십시오 stackoverflow.com/questions/10147565/create-table-like-a1-as-a2