mysql 질문드립니다. 채택완료
안녕하세요mysql질문좀드립니다~
update g5_write_board01 테이블안에 wr_1이라는 필드에 여러개의 값을 랜덤으로 적용시킬수가 있나요?
update g5_write_board01 set wr_1='test' where wr_1>1 = 이렇게 하면 wr_1에 1을 제외한 모든값에 test가 들어가는데 (test, asdf, zxcv, qwer. xcvf)등등 의 지정한 값으로 랜덤하게 wr_1 에 넣을수가있나요?
답변 2개
$arr = array('a', 'b', 'c');
shuffle($arr);
$sql = "update g5_write_board01 set wr_1='$arr[0]' where wr_1>1";
답변에 대한 댓글 6개
// 코드는 단순하게 짜야 나중에 유지보수 할때 시간이 단축되거든요.
create temporary table t (val varchar(255));
insert into t values('a'), ('b'), ('c');
set @a = (select * from t order by rand() limit 1);
update g5_write_board01 set wr_1=@a where wr_1>1
저야.. ㅡㅡ/
프로그램 모른다 했습니다. ㅡㅡ
그러니 냅두세요. %^$#@
급할 때는 마구 굴려서라도 가는 것이지요. ㅠㅠ ㅎ
사실 고수님들 방식은 모두 이유가 있습니다.
짧막한 코드는 아무나 구현치 못하겠고요.
굴러는 가는데.. 에너지도 많이 쓰고.. 시간도 쪼매 많이 소모되고..
그래서 왜 나는 이 모양이지? 라고 생각한 적이 있습니다.
이후, 깨달음을 얻습니다.
음.. 돌아간다고 땡이 아니구나. ㅎㅎ 하고요. ㅡㅡ
고맙습니다. ^^
고맙습니당 ~~
wr_1에는 랜덤의 데이터중 한가지 값이 아닌 ('a'), ('b'), ('c') 의 값들중 랜덤으로 wr_1의 첫번째부터 마지막까지 각각의 다른 랜덤값을 넣고싶습니다.
update g5_write_board01 set wr_1= elt(ceil(rand()*3), 'a', 'b', 'c') where wr_1 > 1
댓글을 작성하려면 로그인이 필요합니다.
자게도 오늘은 썰렁하고, 고수님들이 바쁘신 것 같아요.
그렇다고 QNA 에 빵 글자가 오랜 시간, 떠 있는 것은 싫고 ㅡㅡ ㅎㅎ
잔머리입니다. ㅡㅡ
먼저 테스트 하실 때 고생하실지 모릅니다.
하지만, 될 것 같은 생각이 많아서 사전에 용서 바라면서 담습니다!!
/////////////////
explode() 함수와 같은 함수가 MySQL에도 있습니다.
http://dryad.kr/bbs/board.php?bo_table=rboard01&wr_id=240">http://dryad.kr/bbs/board.php?bo_table=rboard01&wr_id=240
이 내용 참조해 주시고요..
이것을 다시 가져오실 때는..
select * from g5_write_board01 order by rand() limit 5 ;
limit 뒤에 입력하셨던 놈들 갯수를 지정하시면 랜덤으로 집어 오실 수 있습니다.
될 것 같은데요. 자신은 못하겠습니다.
고수님들 지나가시다가 시간 되시면 살펴 주십시오. ㅠㅠ
해보시고 안 되시면 다시 말씀 주십시오.
오밤중이라도 어떻게 접근해 보겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
배열함수 shuffle..
변수 arr 속에 값들인 a, b, c 이런 아이들을..
섞어삐린다.
그리고 db에 업데이트..
엄청 쉽게 처리를 하셨네요..
이 코드 집어다 팔아 먹어도 되나요? ㅡㅡ
엄청 짧으면서 한방에 먹히겠습니다.
고맙습니다. 꾸벅..