2017-01-17 3 views
1

MySQL 테이블 'visits'의 IP 주소 열에서 도트를 제거해야하는데 다음 쿼리를 사용했습니다. 무엇이 잘못 되었나요?MySQL의 IP 주소에서 스트립 점

UPDATE 'visits' SET 'IP' = REPLACE('IP', '.', ''); 

감사

+1

사용 역 따옴표는'대신 테이블 및 열 이름을 작은 따옴표''의 – GurV

+4

제거 점, 고유성 제거'INET_ATON()는' –

+0

당신은 레이아웃을 표시 할 수 있습니다 귀하의 "방문"표 및 귀하의 질문을 명확히하기 위해 귀하가 받고있는 오류. –

답변

2

사용 역 따옴표 ` 대신이 방법은 문제를 만들 수 있습니다 말했다 테이블 및 열 이름

UPDATE `visits` SET `IP` = REPLACE(`IP`, '.', ''); 

에 대한 작은 따옴표 '.

예 : 10.1.1.1110.1.11.1

업데이트 후 둘 다 - 101111이 될 것이며 두 가지 IP를 구분할 방법이 없습니다.

@Alex는 주석에서 IP를 숫자 값으로 나타내려면 대신 INET_ATON()을 고려해야하며, 이는 네트워크 바이트 순서 (빅 엔디안)로 주소의 숫자 값을 나타내는 정수를 반환합니다.

UPDATE `visits` SET `IP` = INET_ATON(`IP`); 

IP에 대해 고유 한 번호를 반환합니다. 이 다음 숫자 표현을 얻을 고려하는 경우

10.1.1.11 - 167837963 
10.1.11.1 - 167840513 
관련 문제