반응형
다음과 같은 fruits
테이블을 가정 해보십시오.
------------------------------------------
| id | name | color | calories |
------------------------------------------
| 1 | apple | red | 20 |
| 2 | orange | orange | 10 |
| 3 | grapes | green | 5 |
| 4 | bananas | yellow | 15 |
| 5 | plum | purple | 25 |
------------------------------------------
ID 번호는 그대로두고 행의 값을 다른 행으로 교환 하려면 어떻게해야합니까?
예:
SWAP ROW WITH ID "5" WITH ROW WITH ID "2"
결과:
------------------------------------------
| id | name | color | calories |
------------------------------------------
| 1 | apple | red | 20 |
| 2 | plum | purple | 25 |
| 3 | grapes | green | 5 |
| 4 | bananas | yellow | 15 |
| 5 | orange | orange | 10 |
------------------------------------------
ID를 제외한 모든 값은 그대로 유지됩니다. 정말 큰 값 목록으로이 작업을 수행해야하므로 한 줄짜리 또는 기껏해야 임시 테이블을 만들 필요가없는 무언가가 필요합니다.
참고 : ID는 고유합니다.
감사합니다
해결 방법
조인 부등식을 사용하여 스왑하려는 행을 정렬 할 수 있습니다.
update fruit a
inner join fruit b on a.id <> b.id
set a.color = b.color,
a.name = b.name,
a.calories = b.calories
where a.id in (2,5) and b.id in (2,5)
참조 페이지 https://stackoverflow.com/questions/17433666
반응형
'MySql' 카테고리의 다른 글
MySQL 조인을 사용하지 않고 두 개의 다른 테이블에서 데이터 선택 (0) | 2020.12.29 |
---|---|
MySQL 데이터베이스가 XAMPP를 시작하지 않습니다. (0) | 2020.12.29 |
MySQL mysql.web 어셈블리를로드 할 수 없습니다. (0) | 2020.12.29 |
MySQL PreparedStatement를 사용하여 삽입하십시오. ID를 자동으로 늘리려면 어떻게합니까? (0) | 2020.12.29 |
MySQL 치명적인 오류 : CodeIgniter에서 'Model'클래스를 찾을 수 없습니다. (0) | 2020.12.29 |
댓글