全部产品
Search
文档中心

Lindorm:CREATE TABLE LIKE

更新时间:Jul 02, 2025

Anda dapat menggunakan sintaksis CREATE TABLE LIKE untuk mereplikasi skema tabel yang ada dan membuat tabel baru berdasarkan skema tersebut.

Mesin dan versi yang berlaku

Sintaksis

create_table_statement ::=  CREATE TABLE new_table_identifier LIKE old_table_identifier 
                            [ WITH  '(' like_option (',' like_option)* ')']
like_option            ::=  option_identifier '=' string_literal 

Parameter

Sintaksis CREATE TABLE LIKE hanya mereplikasi skema namun tidak mereplikasi data dari tabel asli.

Nama tabel baru (new_table_identifier)

Nama tabel baru harus mematuhi aturan berikut:

  • Nama dapat berisi angka, huruf, koma (,), tanda hubung (-), dan garis bawah (_).

  • Nama tidak boleh dimulai dengan titik (.) atau tanda hubung (-).

  • Panjang nama harus antara 1 hingga 255 karakter.

Nama tabel asli (old_table_identifier)

Anda dapat menggunakan sintaksis DESCRIBE untuk melihat skema tabel asli. Untuk informasi lebih lanjut, lihat DESCRIBE/SHOW/USE.

Opsi replikasi (like_option)

Anda dapat menggunakan kata kunci WITH untuk menentukan opsi replikasi tambahan.

Tabel berikut menjelaskan opsi replikasi yang didukung.

Opsi

Tipe

Deskripsi

COPY_INDEX

STRING

Menentukan apakah akan membuat indeks sekunder yang sama dengan tabel yang ada untuk tabel baru yang ingin Anda buat.

Nilai yang valid:

  • false (default): Jangan replikasi indeks sekunder dari tabel asli.

  • true: Replikasi indeks sekunder dari tabel asli.

COPY_SPLITKEYS

STRING

Menentukan apakah akan mereplikasi kunci awal partisi dari tabel asli ke tabel baru.

Nilai yang valid:

  • true: Replikasi kunci awal partisi dari tabel asli. Dalam hal ini, aturan partisi dari tabel asli juga direplikasi di tabel baru.

  • false (default): Jangan replikasi kunci awal partisi dari tabel asli.

Contoh

Dalam contoh-contoh berikut, tabel asli dibuat dengan mengeksekusi pernyataan berikut: Testable

CREATE TABLE sensor(
  p1 INT NOT NULL,
  p2 INT NOT NULL,
  c1 VARCHAR,
  c2 BIGINT,
  PRIMARY KEY(p1, p2)
) WITH (SPLITKEYS = '100000,300000,500000,700000,900000');

Replikasi skema tabel

Buat tabel baru bernama table2 yang memiliki skema yang sama dengan tabel asli bernama sensor.

CREATE TABLE table2 LIKE sensor;

Replikasi skema dan kunci awal partisi dari tabel asli.

CREATE TABLE table2 LIKE sensor WITH (COPY_SPLITKEYS='true');