> 데이터 베이스 > MySQL 튜토리얼 > ALTER TABLE 권한 없이 MySQL 열 값을 어떻게 바꿀 수 있습니까?

ALTER TABLE 권한 없이 MySQL 열 값을 어떻게 바꿀 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-08 08:10:10
원래의
284명이 탐색했습니다.

How Can I Swap MySQL Column Values Without ALTER TABLE Permissions?

제한된 권한으로 MySQL 열 값 교환

데이터베이스 구조 변경 권한 없이 열 값을 업데이트하는 것은 문제가 될 수 있습니다. UPDATE 테이블 SET X=Y, Y=X와 같이 UPDATE 문을 사용하여 값을 바꾸는 직관적인 접근 방식으로는 충분하지 않습니다. 대신, 구조적 변경을 우회하는 다음 방법을 고려하십시오.

방법 1

임시 변수를 사용하여 한 값을 보유하는 동시에 다른 값을 할당합니다. 이렇게 하면 두 값이 동일한 데이터로 재정의되지 않습니다.

UPDATE swap_test SET x=y, y=@temp WHERE (@temp:=x) IS NOT NULL;
로그인 후 복사

방법 2

일련의 할당을 사용하여 값을 교환합니다. 이 방법은 NULL 값과 NULL이 아닌 값을 모두 우아하게 처리합니다.

UPDATE swap_test SET x=(@temp:=x), x = y, y = @temp;
로그인 후 복사

방법 3

셀프 조인을 활용하여 두 테이블 참조에서 값을 업데이트합니다. 이 방법에는 기본 키 또는 고유 인덱스가 필요합니다.

UPDATE swap_test s1, swap_test s2 SET s1.x=s1.y, s1.y=s2.x WHERE s1.id=s2.id;
로그인 후 복사

각 방법마다 고유한 장점과 한계가 있습니다. 방법 1은 NULL이 아닌 값을 처리할 수 있는 반면, 방법 2는 NULL과 NULL이 아닌 값을 모두 처리할 수 있습니다. 방법 3에는 기본 키가 필요하지만 원하는 경우 여러 행 간에 교환할 수 있습니다. 궁극적으로 최선의 접근 방식은 현재 작업의 특정 요구 사항에 따라 달라집니다.

위 내용은 ALTER TABLE 권한 없이 MySQL 열 값을 어떻게 바꿀 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿