Bagaimana untuk mengelakkan kemasukan pendua dalam berbilang lajur?
P粉037450467
P粉037450467 2024-03-31 22:54:17
0
1
384

rreeee

Bagaimana untuk menghalang kemasukan pendua dalam berbilang lajur?

Sebagai contoh, saya tidak memerlukan sesuatu seperti ini

FOLLOWER_ID FOLLOWING_ID MENIKUT_MASUK
283 283 ...
193 283 ...
908 908 ...
  • Baris pertama = ralat
  • Kedua = Baik
  • Ketiga = teruk

Saya ingin bertanya, adakah jadual pengikut kelihatan direka dengan baik?

P粉037450467
P粉037450467

membalas semua(1)
P粉969253139

Jika anda menggunakan MySQL 8.0.16 atau lebih tinggi, anda boleh menggunakan CHECK kekangan.

CREATE TABLE `FOLLOWERS` (
    `FOLLOWER_ID` char(255) COLLATE utf8_unicode_ci NOT NULL, 
    `FOLLOWING_ID` char(255) COLLATE utf8_unicode_ci NOT NULL, 
    `FOLLOWING_IN` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    CONSTRAINT CHECK (FOLLOWER_ID != FOLLOWING_ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

Jika anda menggunakan versi yang lebih lama, sila lihat Bolehkah pencetus MySQL meniru kekangan CHECK? Ketahui cara mensimulasikan kekangan semak menggunakan pencetus.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan