全部产品
Search
文档中心

PolarDB:Mengaitkan urutan dengan kolom auto-increment dalam tabel

更新时间:Jul 02, 2025

PolarDB-X dapat secara otomatis membuat urutan dan mengaitkannya dengan kolom auto-increment dalam tabel. Jika Anda tidak menentukan tipe urutan saat membuat tabel yang berisi kolom auto-increment, PolarDB-X akan membuat urutan tertentu berdasarkan mode partisi database tempat tabel tersebut berada. Jika tabel termasuk dalam database yang berada dalam mode AUTO, PolarDB-X secara otomatis membuat urutan NEW. Jika tabel termasuk dalam database yang berada dalam mode DRDS, PolarDB-X secara otomatis membuat urutan GROUP.

Nama urutan yang dikaitkan dengan kolom auto-increment dalam tabel ditentukan dalam format AUTO_SEQ_NamaTabel.

PolarDB-X juga memungkinkan Anda untuk menentukan tipe urutan yang ingin dikaitkan dengan kolom auto-increment dalam tabel saat pembuatan tabel.

Mengaitkan urutan NEW atau urutan berbasis waktu (TIME) dengan kolom auto-increment dalam tabel

Sintaks:

CREATE TABLE <name> (
   <column> ... AUTO_INCREMENT [ BY NEW | TIME ],
   <column definition>,
   ...
) ... AUTO_INCREMENT=<nilai awal>
Catatan Jika Anda menentukan kata kunci BY TIME yang menentukan tipe urutan berbasis waktu untuk kolom auto-increment, tipe data kolom auto-increment harus BIGINT.

Mengaitkan urutan GROUP dengan kolom auto-increment dalam tabel

Sintaks:

CREATE TABLE <name> (
   <column> ... AUTO_INCREMENT [ BY GROUP ] [ UNIT COUNT <nilai numerik> INDEX <nilai numerik> ],
   <column definition>,
   ...
) ... AUTO_INCREMENT=<nilai awal>

Contoh

  • Contoh 1

    Anda dapat menjalankan pernyataan berikut untuk membuat tabel yang menggunakan urutan GROUP default untuk menghasilkan nilai untuk kolom auto-increment dalam database dalam mode DRDS:

    CREATE TABLE tab1 (
    col1 BIGINT NOT NULL AUTO_INCREMENT,
    col2 VARCHAR(16),
    PRIMARY KEY(col1)
    ) DBPARTITION BY HASH(col1);
  • Contoh 2

    Anda dapat menjalankan pernyataan berikut untuk membuat tabel yang menggunakan nama tabel yang sama di tiga instance atau tiga database yang berbeda. Kolom auto-increment di setiap tabel menggunakan urutan unit yang termasuk dalam urutan GROUP yang sama untuk menghasilkan nilai. Nilai parameter UNIT COUNT dalam definisi urutan unit adalah sama, sedangkan nilai parameter INDEX berbeda.

    • Buat urutan unit di Instance 1 atau Database 1.
      CREATE TABLE tab2 (
      col1 BIGINT NOT NULL AUTO_INCREMENT UNIT COUNT 3 INDEX 0,
      col2 VARCHAR(16),
      PRIMARY KEY(col1)
      ) DBPARTITION BY HASH(col1);
    • Buat urutan unit di Instance 2 atau Database 2.
      CREATE TABLE tab2 (
      col1 BIGINT NOT NULL AUTO_INCREMENT UNIT COUNT 3 INDEX 1,
      col2 VARCHAR(16),
      PRIMARY KEY(col1)
      ) DBPARTITION BY HASH(col1);
    • Buat urutan unit di Instance 3 atau Database 3.
      CREATE TABLE tab2 (
      col1 BIGINT NOT NULL AUTO_INCREMENT UNIT COUNT 3 INDEX 2,
      col2 VARCHAR(16),
      PRIMARY KEY(col1)
      ) DBPARTITION BY HASH(col1);
  • Contoh 3

    Anda dapat menjalankan pernyataan berikut untuk membuat tabel yang menggunakan urutan TIME untuk menghasilkan nilai untuk kolom auto-increment dalam database dalam mode DRDS:

    CREATE TABLE tab3 (
    col1 BIGINT NOT NULL AUTO_INCREMENT BY TIME,
    col2 VARCHAR(16),
    PRIMARY KEY(col1)
    ) DBPARTITION BY HASH(col1);
  • Contoh 4

    Anda dapat menjalankan pernyataan berikut untuk membuat tabel yang menggunakan urutan NEW default untuk menghasilkan nilai untuk kolom auto-increment dalam database dalam mode AUTO:

    CREATE TABLE tab4 (
    col1 BIGINT NOT NULL AUTO_INCREMENT,
    col2 VARCHAR(16),
    PRIMARY KEY(col1)
    ) PARTITION BY KEY(col1);
  • Contoh 5

    Anda dapat menjalankan pernyataan berikut untuk membuat tabel yang menggunakan urutan GROUP untuk menghasilkan nilai untuk kolom auto-increment dalam database dalam mode AUTO:

    CREATE TABLE tab5 (
    col1 BIGINT NOT NULL AUTO_INCREMENT BY GROUP,
    col2 VARCHAR(16),
    PRIMARY KEY(col1)
    ) PARTITION BY HASH(col1);