mysql 데이터 입력에 대한 질문입니다.
본문
제가 이해를 잘 못하고 있는 걸 수도 있는데 질문 드려봅니다.
wr_id 에 1~10 까지 글등록이 돼있습니다.
각 글마다 wr_1 필드를 사용하는데, 여기다가 각각 다른 값을 넣어주려고 합니다.
그냥 게시글 수정에서 10개의 값을 넣어주면 간단하지만
wr_id 가 1000 개가 됐을 경우 시간이 너무 오래 걸릴거 같아서요.
각 wr_id 에 있는 wr_1 필드에 다른 값을 넣으려고 하는데 이게 db 상에서 한번에 처리가 가능한지 궁금합니다.
"wr_id=1 에 있는 wr_1 필드에 홍길동 을 넣어라" 라는 쿼리를 여러번 반복 시키고 싶습니다.
답변 2
wr_1 값이
1 이면 홍길동
2 면 이순신
3 이면 강감찬
4 면 장보고
이런 식인가요?
mysql에 case ... when을 참고하세요.
조건을 정확하게 해야 합니다.
"wr_id=1 에 있는 wr_1 필드에 홍길동 을 넣어라" 라는 쿼리를 여러번 반복 시키고 싶습니다.
> wr_id=1은 대상이 명확하잖아요? 아무리 여러번 실행해도 동일하단 얘기.
아무튼, 모든 레코드(전체 게시물)에 대해 wr_1 필드에 랜덤한 문자열을 넣고 싶다면
아래처럼 처리하는 방법도 있습니다.
+ RAND()
- https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_rand
+ ELT()
- https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_elt
UPDATE 테이블명 SET wr_1=ELT(FLOOR(1+RAND()*3), '홍길동', '비혼', '그누') WHERE 1;
데이터 늘리는 만큼 RAND()*3 숫자 부분에 해당 크기 넣으면 됩니다.