랜덤 데이터 생성하기
Random한 수 만들기
rand() 함수 이용
FLOOR(1 + (RAND() * 99999)
// 1부터 100000까지의 random int 추출
// n <= rand < m일 경우 n + RAND() * (m-1)
Random한 ID 만들기
uuid() 이용
LEFT(UUID(), 8)
UUID 값에서 앞에 8개 잘라옴
특정 값 중에서 Choice (ENUM에서 유용)
ELT 사용 (N값이 1이면 첫번째 str가져옴)
ELT(1 + RAND() * 5, 'A', 'B', '에이', '비다')
// 4개 str중 하나 랜덤으로 가져오기
Random 시간 만들기
FROM_UNIXTIME( FLOOR(unix_timestamp('2020-06-01 00:00:00')+(RAND()*(unix_timestamp('2020-06-30 23:59:59')- unix_timestamp('2020-06-01 00:00:00')))))
2020-06-01~ 2020-06-30 사이 날짜 랜덤으로 나오도록 함
원하는 순서대로 AUTO_INCREMENT 걸기
reg_date를 기준으로 새롭게 pk 값 설정하기
set @cnt = {시작 idx값};
update `TABLE_NAME` set idx=@cnt:=@cnt+1 order by reg_date limit 50;
참고로 커넥션 끊겨도 적용은 된다!
중복시 UPDAE 처리
unique여야 하는 field가 있을 경우, ON DUPLICATE KEY UPDATE
처리 해주면 편하다.
INSERT INTO (memberId, createdBy, updatedBy) VALUES (1, '갬민주', '겜민주')
ON DUPLICATE KEY UPDATE
updatedBy = '갬민조'