VillageSQL is a drop-in replacement for MySQL with extensions.
All examples on this page work on VillageSQL. Install Now →
VARCHAR(17)로 저장됩니다. 저장은 되지만 어떤 문자열이든 받아들이고, 아무것도 정규화하지 않으며, 6바이트면 충분한데 17바이트를 씁니다. VillageSQL의 MACADDR 타입은 삽입 시 형식을 검증하고, 일관된 표현으로 정규화하며, OUI 추출을 공짜로 제공합니다.
MySQL 기본: VARCHAR(17)
표준 우회책: BINARY(6)
간결한 저장: 삽입 시 바이너리로 변환하고, 읽을 때 문자열로 되돌립니다.VillageSQL과 함께: MACADDR과 MACADDR8
VillageSQL의vsql_network_address 확장은 자동 형식 정규화와 검증을 갖춘 MACADDR(6바이트 IEEE 802 형식)과 MACADDR8(8바이트 EUI-64 형식) 타입을 추가합니다.
OUI 추출
MAC 주소의 첫 3바이트는 제조사를 식별합니다(OUI — Organizationally Unique Identifier).macaddr_trunc()는 마지막 3바이트를 0으로 만들어 OUI만 남깁니다:
비교와 정렬
EUI-64 MAC 주소(MACADDR8)
최신 하드웨어는 8바이트 EUI-64 식별자를 점점 더 많이 사용합니다.MACADDR8 타입이 이를 처리합니다:
접근법 비교
자주 묻는 질문
MACADDR은 대문자 16진수를 받아들이나요?
예 —08:00:2B:01:02:03과 08:00:2b:01:02:03은 둘 다 올바르게 파싱되고 동일하게 저장됩니다.
MACADDR을 기본 키로 사용할 수 있나요?
예.MACADDR은 인덱싱과 동등 비교를 지원합니다. MAC이 자연스러운 식별자인 네트워크 장치 테이블에서는 합리적인 기본 키입니다.
MACADDR과 MACADDR8의 차이는 무엇인가요?
MACADDR은 대부분의 네트워크 하드웨어가 사용하는 6바이트 IEEE 802 MAC-48 형식입니다. MACADDR8은 일부 최신 네트워크 인터페이스와 IPv6 링크 로컬 주소 생성에 사용되는 8바이트 EUI-64 형식입니다. EUI-64 식별자를 저장할 때 MACADDR8을 사용하세요.
MACADDR과 MACADDR8 사이를 어떻게 변환하나요?
내장 변환 함수는 없습니다. MAC-48을 EUI-64로 확장해야 한다면(가운데에ff:fe 삽입), macaddr8_from_string()을 호출하기 전에 애플리케이션 코드에서 하세요.
문제 해결
함께 보기
- MySQL에 IP 주소 저장하기 — IP에 대한 같은 네트워크 주소 저장 패턴