테스트 사이트 - 개발 중인 베타 버전입니다

mysql 데이터 입력에 대한 질문입니다. 채택완료

brocolly 3년 전 조회 1,368

제가 이해를 잘 못하고 있는 걸 수도 있는데 질문 드려봅니다.

 

wr_id 에 1~10 까지 글등록이 돼있습니다.

각 글마다 wr_1 필드를 사용하는데, 여기다가 각각 다른 값을 넣어주려고 합니다.

그냥 게시글 수정에서 10개의 값을 넣어주면 간단하지만

wr_id 가 1000 개가 됐을 경우 시간이 너무 오래 걸릴거 같아서요.

 

 

각 wr_id 에 있는 wr_1 필드에 다른 값을 넣으려고 하는데 이게 db 상에서 한번에 처리가 가능한지 궁금합니다.

 

"wr_id=1 에 있는 wr_1 필드에 홍길동 을 넣어라" 라는 쿼리를 여러번 반복 시키고 싶습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

wr_1 값이

1 이면 홍길동

2 면 이순신

3 이면 강감찬

4 면 장보고

이런 식인가요?

mysql에 case ... when을 참고하세요.

https://bkjeon1614.tistory.com/251

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

B
3년 전

조건을 정확하게 해야 합니다.

 

"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 숫자 부분에 해당 크기 넣으면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인