반응형
MySQL GUID/UUID 저장
이것이 UUID()에 의해 생성된 MySQL GUID/UUID를 이진(16)으로 변환하기 위해 생각해 낼 수 있는 최선의 방법입니다.
UNHEX(REPLACE(UUID(),'-',''))
그리고 나서 그것을 BINORY(16)에 저장합니다.
제가 알아야 할 이런 식으로 하는 것에 어떤 의미가 있나요?
MySQL 8.0 이상부터는 UUID_를 사용할 수 있습니다.TO_BIN:
UUID_TO_BIN(string_uuid), UUID_TO_BIN(string_uuid, swap_flag)
문자열 UUID를 이진 UUID로 변환하고 결과를 반환합니다. (IS_UUID() 함수 설명에는 허용되는 문자열 UUID 형식이 나열됩니다.)반환 이진 UUID는 VARB입니다.INARY(16) 값.
CREATE TABLE t (id binary(16) PRIMARY KEY);
INSERT INTO t VALUES(UUID_TO_BIN(UUID(), true));
INSERT INTO t VALUES(UUID_TO_BIN(UUID(), true));
INSERT INTO t VALUES(UUID_TO_BIN(UUID(), true));
SELECT *, BIN_TO_UUID(id) FROM t;
시사하는 바가 많지 않습니다.그러면 쿼리 속도가 조금 느려지지만 거의 눈치채지 못할 것입니다.
UNIQUEIDENTIFIER
로 저장됩니다.16-byte binary
어쨌든 내부적으로는
만약 당신이 바이너리를 클라이언트에 로드하고 거기서 파싱할 것이라면, 주의하세요.bit order
, 이니셜이 아닌 다른 문자열 표현이 있을 수 있습니다.NEWID()
.
Oracle
의SYS_GUID()
함수를 문자열로 변환하면 클라이언트와 서버에서 다른 결과를 얻을 수 있습니다.
언급URL : https://stackoverflow.com/questions/547118/storing-mysql-guid-uuids
반응형
'source' 카테고리의 다른 글
ORA-04036: 인스턴스에서 사용하는 PGA 메모리가 PGA_AGGRATE_LIMIT를 초과합니다. (0) | 2023.11.05 |
---|---|
오라클 개체 종속성 루프 (0) | 2023.11.05 |
다른 필드의 COUNT가 SQL인 열을 업데이트하시겠습니까? (0) | 2023.11.05 |
도커 구성품 단일 컨테이너 구축 (0) | 2023.11.05 |
angular js에서 $parse 사용 (0) | 2023.11.05 |