2016-09-22 2 views
0

사용자가 실수로 텍스트 열에 공백이있는 텍스트를 잘못 입력하는 경우가 있습니다. 이는 시각적으로 볼 수 없습니다. 이 텍스트 필드가 후행 공백이없는 다른 텍스트 필드와 일치해야하는 경우 나중에 문제가 발생할 수 있습니다. mySQL에서 텍스트 문자열에 특정 문자 (이 경우에는 공백)가 포함될 수 없도록 할 수 있습니까?mySQL에 공백이 포함 된 텍스트를 입력하는 것을 방지하는 방법

의견에 감사드립니다.

+0

을 기반으로합니다. get-go에서 "깨끗한"데이터를 삽입해야합니다. 즉, 클라이언트 측 코드에서 공간 제거를 수행해야합니다. –

+0

my-sql은 서로 다른 기술의 무작위 매쉬입니다. 정확한 버전과 엔진을 확인하십시오 .... 도움이되는 두 가지 SQL 기술이 있습니다. 데이터를 투명하게 수정할 수있는 BEFORE-UPDATE-OR-INSERT TRIGGER 잘못된 데이터 삽입을 차단할 수있는 CHECK CONSTRAINT 및 규칙에 따라 귀하의 데이터베이스가 그것들을 지원한다면 - 그것을 사용할 수 있습니다. 둘 다 파이어 버드 SQL에서 코딩 할 수 있지만 MYSQL에서는 코딩 할 수 없다. 따라서 대답을하지 못한다. –

+0

마크가 말한 바. – Drew

답변

2

이 당신이 원하는 것을 달성하는 방법은 다음과 같습니다 응용 프로그램에서

  1. 확인 사용자 입력과 공백이 포함 된 경우를 거부합니다. 기본 걱정이 사용자 입력의 품질이라면, 아마도 이것이 최선의 방법 일 것입니다.

  2. 응용 프로그램 논리 또는 sql을 사용하여 사용자 입력에서 공백 (또는 시작/끝 공백 만)을 제거 할 수 있습니다.

당신이 replace() function을 사용 후, SQL에서 사용자의 입력에서 모든 공백을 제거하기 위해 선택합니다. 시작 및 후행 공백 만 제거하려는 경우 trim() function을 사용하여 원하는 결과를 얻으십시오. MySQL의 기능을 간단한 방법을 사용

+0

응용 프로그램 계층에서이 작업을 수행하는 것이 가장 좋은 방법입니다. 데이터베이스 수준에서이를 적용하면 좌절감이 생길 수 있습니다. 특히 어떤 이유로 인해 공간이 필요할 때가 있습니다. – tadman

0

은 MySQL의의 일이 아니다 트림()

select 
    trim(' try with trim ') 
, length (trim(' try with trim ')) 
, length (' try with trim ') 
from dual ; 
관련 문제