mysql에서 일괄적으로 다른컬럼에 값을 복사시킬 수 있나요? 채택완료

table이 2개가 있고  각 테이블 상황이 이렇습니다(서로 데이터의 양은 같습니다)

 

테이블 apple(컬럼:a,b,c)

 

테이블 banana(컬럼:x,y,c)

 

c는 apple과 banana의 똑같은 데이터를 가리킵니다.

 

이런 상황에서

 

banana의 컬럼x속 데이터를 일괄적으로 apple의 컬럼a로 값을 전부 복사시킬 수 있을까요?

 

 

답변 4개

채택된 답변
+20 포인트

table이 2개가 있고  각 테이블 상황이 이렇습니다(서로 데이터의 양은 같습니다) -> update 선택

Copy
$sql  = "select 'x','c' from banana";
$result = sql_query($sql);

while($row = sql_fetch_array($result)){ 

sql_query(" update apple set a='$row[x]' where c='$row[c]' ");

}

 

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

답변에 대한 댓글 1개

감사합니다!

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

Copy
UPDATE apple A INNER JOIN banana B ON A.c = B.c
   SET A.a = B.x
로그인 후 평가할 수 있습니다

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

db 기존 테이블 내보내기해서 sql 파일에서 테이블명변경

복사할 테이블에 칼럼 기존테이블과 칼럼명맞춰주고 sql파일 가져오기로 복사

그이후에 필요하다면 칼럼명 변경

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

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

php로 페이지하나 파셔서 그냥 아래와같이 작업하시면 될것같습니다.

데이터의 양이 10개 10개씩 같으면

apple에 AUTO_INCREMENT 키값이 있다면

banana의 전체 x를 select 해서 배열로 담고 

for문돌려서 강제로 업데이트하면 될거같은대요

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

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

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

로그인
🐛 버그신고