2010-01-18 6 views
1

나는 varchar를 varchar (min, max)로 설정할 수 있다고 생각했지만 잘못 입력 했어야합니다. min과 max를 설정하는 구문은 무엇입니까? 아니면 PHP를 사용해야합니까?최소 varchar?

업데이트 : 더 많은 상황을 추가하겠습니다. 사용자 이름 필드를 만들고있어 MySQL에서 varchar의 최소값과 최대 값을 설정할 수 있다고 생각했습니다. 최소한 0에서 255까지의 길이를 설정할 수있을 것 같습니다. PHP를 사용하여 최소 제한을 추가해야 함을 의미합니다.

답변

5

MySQL에서 VARCHAR 필드의 최소 길이를 설정할 수 없습니다. jspcal의 대답에도 불구하고 그러한 최소 길이 제한은 없습니다.

최대 단순히 VARCHAR (최대)

예, 당신은 길이를 제한하는 PHP를 사용해야합니다. 개인적으로, 필자는 모든 제약 조건 검증을 수행하기 위해 애플리케이션 코드를 사용하고 최후의 수단/장애 조치로 DB에만 의존합니다.

응용 프로그램에서 유효하지 않은 데이터를 감지하고 유용한 오류 메시지를 반환하는 것이 DB 예외를 잡는 것보다 적절하고 해당 오류 메시지로 해석/해석해야합니다.

+0

"길이를 제한하려면 PHP를 사용해야합니다"- 이것은 * false *입니다. 분명히 당신은 트리거를 들어 보지 못했습니다. 이것은 MySQL이 제약 조건을 구현하는 방법입니다 : http://forge.mysql.com/wiki/Triggers#Emulating_Check_Constraints. 읽고 배우기. – jspcal

1

PHP에서 수행하는 것이 더 좋으며, mysql은 제약 조건을 수행하는 데 일부 트리거가 필요할 것입니다.

+0

MySQL에는 제약이 있습니까? – zneak

+0

-1 : 그냥 틀렸어 – hobodave

+0

원래 답은 "네가 제약 조건으로 할 수있다"였습니다. 답안 본문을 CYA로 완전히 변경했습니다. – hobodave