반응형
내 create 문 중 하나에 가능한 값 범위, 즉 INT를 제공하려고합니다.
범위에 사용하는 구문을 잊어 버리고있는 그대로 사용하려고 할 때 오류가 발생한다고 확신합니다.
해결 방법
저자 주 :이 답변의 처음 두 부분은 정확하지 않습니다. MySQL이 CHECK
제약 조건을 지원한다고 생각했지만 그렇지 않았습니다. 여전히 그렇지 않습니다. 열을 단순한 값 목록으로 제한하려면이 답변 끝에 ENUM
접근 방식을 사용하십시오. 논리가 더 복잡한 경우 (값 범위, 다른 열에 기반한 값 등) MySQL 옵션은 트리거뿐입니다.
INT
인 경우 CHECK
제약 조건이 필요합니다.
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
참조 페이지 https://stackoverflow.com/questions/16073268
반응형
'MySql' 카테고리의 다른 글
MySQL 날짜 범위의 간격으로 MySQL 그룹화 (0) | 2021.01.05 |
---|---|
MySQL : 이번 달 및 이전 3 개월의 레코드 반환 (0) | 2021.01.04 |
MySQL 다시 시작하지 않고 MySQL이 my.cnf를 다시 읽도록 만드는 방법은 무엇입니까? (0) | 2021.01.04 |
MySQL 오류 코드 : 1305 MySQL, 기능이 존재하지 않습니다. (0) | 2021.01.04 |
MySQL mysqldump는 덤프 중간에 "drop database"문을 삽입합니다. (0) | 2021.01.04 |
댓글