MySQL 에선 불가능한 SQL 문입니다.
일단 update 문에서 필드의 갱신이 불가능하고, 그리고 JOIN 이 불가능합니다. 그러므로 이 문장은 궁극적으로 불가능한 문장이 되어 버린것 같습니다.
원하시는 작업을 하고자 할 경우 하나 query로는 불가능하면 부분별로 나누어서 각각의 query를 실행해 주는 수 밖에 없습니다.
(이건 간단히 하실 수 있겠지요.)
> 2개의 Table이 있습니다.
> 첫째 Table(std)에는 학번(no)과 이름, 성별, 생년월일, 주소 등의 학생에
> 대한 전반적인 데이타가 기록됩니다.
> 두번째 Table(tel)은 새로 입수된 학생들의 전화번호(telno)가 기록되어
> 있습니다.
> 물론 두 Table에는 공히 학번 Field가 있으며, 이를 이용하여 Join할 수
> 있습니다.
> 하지만, 두번째 Table은 임시적인 Table로써, 첫째 Table에 새로운 필드를
> 추가하여, 둘째 Table값을 일괄 변경하고 삭제하려 합니다.
> 그래서,
>
> UPDATE std INNER JOIN tel ON std.no = tel.no SET std.telno=tel.telno;
>
>
> 와 같이 두 Table을 INNER JOIN하여 학번(no)이 일치하는 레코드에 대하여
> 전화번호를 갱신하려 했는데, MySQL에서는 위와같은 SQL 문을 지원하지 않
> 는듯 합니다.
>
> 위의 목적을 달성할 수 있는 방법을 알려주시기 바랍니다.
>
> * SQL은 넘 어려워요~ 하지만, 재밌어요~ :-)
|