Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Rentang Integer SQL Saat Membuat Tabel

Catatan Penulis :dua bagian pertama dari jawaban ini salah. Saya pikir MySQL mendukung CHECK kendala dan tidak. Masih tidak. Untuk membatasi kolom ke daftar nilai sederhana, gunakan ENUM pendekatan di akhir jawaban ini. Jika logikanya lebih rumit (rentang nilai, nilai berdasarkan kolom lain, dll.), satu-satunya opsi MySQL adalah pemicu.

Anda memerlukan CHECK kendala jika itu adalah INT :

CREATE TABLE Site (
  SiteID INT,
  CONSTRAINT SiteID_Ck CHECK (SiteID IN (1, 2, 3, 4)),
  ... and the rest

Atau:

CREATE TABLE Site (
  SiteID INT,
  CONSTRAINT SiteID_Ck CHECK (SiteID BETWEEN 1 AND 4),
  ... and the rest

Atau jika Anda dapat menggunakan string SiteID maka:

CREATE TABLE Site (
  SiteID ENUM('1', '2', '3', '4'),
  ... and the rest



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saran tentang Penataan Sistem Komentar

  2. Penggunaan UNION dan ORDER BY yang salah?

  3. Lima aplikasi perangkat lunak teratas untuk mengakses server MySQL/MariaDB

  4. Pergi dari database ke sesi

  5. TAMPILKAN TABEL pernyataan dengan beberapa nilai LIKE