1
데이터베이스에 새 항목을 삽입 할 때마다 약 300 + + 임의의 영숫자 문자열을 자동 생성하도록 데이터베이스 열을 허용하려고합니다. 아래 코드는 36 크기 만 가능합니다.거대한 MySQL 무작위 영숫자 문자열
DELIMITER ;;
CREATE TRIGGER testdata
BEFORE INSERT ON testdata
FOR EACH ROW
BEGIN
IF new.token IS NULL THEN
SET new.token = uuid();
END IF;
END
;;
누구나이 질문에 답변 해 주셔서 감사합니다.
이 문자열의 목적은 무엇입니까? 영숫자 시퀀스를 생성하는 기법이 있습니다 (http://stackoverflow.com/questions/16737910/generating-a-random-unique-8-character-string-using-mysql). 그러나 암호 학적으로 고유 한 것이 필요한 경우 말할 것도없고,'RAND()'는 너무 예측 가능합니다. – tadman
안녕하세요. @ tadman 답장을 보내 주셔서 감사합니다. 이 문자열의 목적은 일종의 인증과 같습니다. 마음은 나를 위해 어떤 더 나은 방법을 제안하는 crytographically 독특한 무엇입니까? –
UUID 유형 값은 실제로는 예측할 수 없으며 고유해야합니다. 암호 학적으로 고유 한 무언가를 얻으려면 보안 난수 생성기가 필요하다. 그런 다음이를 base-62 또는 그 종류의 것으로 인코딩해야한다. 이것은 MySQL이 처리 할 수있는 최선의 방법은 아니지만 시도해 볼 수는 있습니다. 외부 프로그래밍 언어로하는 것이 훨씬 쉽습니다. – tadman