2012-06-19 3 views
2

MySQL에서 커스텀 컬럼 포맷을 정의하고 싶다면 어떻게해야할까요? 원하는 사용자 정의 형식은 항상 2 자리 정수이고, 그 다음에 # 기호, 공백, 십진법 다음에 2 자리 숫자가옵니다. 허용되는 값의 예는 다음과 같습니다 허용되지 않습니다커스텀 MySQL 컬럼 포맷을 적용하는 방법

30# 11.00 
27# 17.25 
40# 17.25 

값이 같다 :

30# 11 
40# 20.5 
some string 

는 MySQL의이 가능합니까? 그렇다면 어떻게해야하는지에 대한 힌트가 있습니까?

감사합니다.

+0

글쎄, 당신은 항상 쉬운 접근 방식으로 할 수 있으며 그것은'id int float (4,2)'를 가진 테이블과의 관계입니다 : –

+0

그 컬럼을'varchar'로 사용합니다 –

+0

이제 varchar , 물론,하지만이 사용자 지정 형식을 시행하고 싶습니다. 이 원하는 형식이 아닌 값을 삽입하려고하면 데이터베이스에서 오류를 반환하고 저장하지 못하게해야합니다. –

답변

3

"CHECK 절이 구문 분석되지만 모든 저장소 엔진에서 무시됩니다." mysql에서 남은 유일한 옵션은 테이블에 삽입/업데이트 트리거를 추가하여 입력 내용을 regexp에 입력하고 계속 진행하는 것입니다.

+0

예. 방아쇠를 당길 필요가 없기를 바랬지 만, 아마 당신이 그것을 할 수있는 유일한 방법이라고 생각합니다. –

+1

예 트리거는 가장 절실한 순간에만 사용해야합니다. 응용 프로그램에서 응용 프로그램 계층에서 이러한 검사를 시행하는 것이 허용 될 수 있습니까? – Sebas

+0

현재, 트리거는 MySQL에서이를 강제하는 유일한 방법입니다. – spencer7593

관련 문제