Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL Целочислен диапазон при създаване на таблици

Бележка на автора :първите две части на този отговор са неправилни. Мислех, че MySQL поддържа CHECK ограничения и не. Все още не. За да ограничите колоните до прост списък със стойности, използвайте ENUM подход в края на този отговор. Ако логиката е по-сложна (диапазон от стойности, стойност, базирана на друга колона и т.н.), единствената опция на MySQL е тригер.

Нуждаете се от CHECK ограничение, ако е INT :

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

Или:

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

Или ако можете да живеете с низ SiteID, тогава:

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. Mysql:Настройте формата на DATETIME на „ДД-ММ-ГГГГ ЧЧ:ММ:СС“, когато създавате таблица

  2. Заявка, чувствителна към регистъра на MySQL

  3. Грешка 1148 MySQL Използваната команда не е разрешена с тази версия на MySQL

  4. Как да свържете flutter към mysql база данни на localhost

  5. MySQL 5.6 EOL съобщение