목록전체 글 (10)
unscope
[MySQL] 중복되는 수를 제외한 난수 생성하기(with.저장함수)
어쩌다 보니 이런 걸 만들 일이 생겼습니다. 6자리의 숫자로만 된 난수를 생성해야 해서, 아래처럼 작성했습니다. SELECT LPAD(ROUND(RAND()* 999999, 0), 6, 0) so simple... 하지만 이 난수는 PK가 될 친구입니다. 중복이... 되면 안 돼... 저는 어떻게든 저장 프로시저나 함수를 사용하지 않고 일반 쿼리문만으로 중복을 제외하려고 했고... 개같이 실패했습니다. 방법을 아시는 분의 제보를 열렬히 기다립니다... 하는 수 없이 저장 함수를 하나 만들어서 while 문을 이용해 중복을 제외했습니다. CREATE FUNCTION DB명.함수명() RETURNS VARCHAR(6) BEGIN DECLARE randomNum VARCHAR(6) DEFAULT ''; DEC..
IT/MySQL
2023. 3. 21. 09:48