이전 MySQL 데이터베이스를 업데이트하고 다양한 테이블의 여러 열을 필요로하지 않습니다. 하지만 열을 제거하는 것보다는 일시적으로 열지 못하게하여 코드를 테스트하고 열 제거를 완료하기 전에 얼마나 많은 것이 손상되는지 확인하는 것이 좋습니다. 특정 열에 액세스하면 서버에 오류가 발생하도록 어떻게 알 수 있습니까?MySQL 테이블의 열을 어떻게 비활성화합니까?
2
A
답변
0
테이블 oldname의 이름을 newname으로 변경하고 oldname을 사용하여 뷰를 만들 수 있습니다. 그보기는 열 제거 테이블처럼 보입니다. 만약에 약간 문제가 있으면. 당신은 단지 이름 테이블과 뷰를 변경합니다.
0
보기를 사용하는 것이 좋습니다. 예를 들어 필자는이 바이올린을 만들었습니다. http://sqlfiddle.com/#!2/a8947/2
두 가지 쿼리를 살펴보십시오. 하나는 당신이 필요하지 않은 컬럼 ("legacyData"라고 불렀다)이있는 테이블을 선택한다. 다른 뷰는 뷰를 선택합니다. 보기에서 "legacyData"열이 더 이상 존재하지 않는 것을 볼 수 있습니다.
테이블에서 작성하는 경우에는 작동하지 않을 것이라고 생각하지만 테이블에서 읽는다면보기가 실행 가능한 옵션입니다.
당신이 될 것입니다 그것을 밖으로 시도 생산에 걸릴 싶어 단계 :
- 이 테이블 ('myTable에'예 'myTableDontUse'에)
- 뷰가를 기반으로 만든 이름 바꾸기 새로 이름이 바뀐 테이블
- 뷰를 이름 , 이름은 테이블의 원래 이름 그 일을함으로써 (이 예에서는 myTable에)
, 당신은 볼 수있는 테이블을 교체했습니다. 이 방법을 사용하면 응용 프로그램이 해당 테이블의 legacyData 필드에 액세스하고 있는지 확인할 수 있습니다. 그렇지 않은 경우보기를 제거하고 표의 이름을 바꾸고 해당 열을 삭제할 수 있습니다.
많은 데이터가있는 경우 일반적으로 성능이보기 좋지 않으므로주의하십시오. 비슷한 상황에서 뷰를 시작했지만 성능상의 이유로 (테이블에 2M + 행이 있음) 대신 트리거를 통해 채워진 일반 테이블로 변경했습니다.
관련 문제
- 1. Mysql 다른 테이블의 열을 삽입하십시오.
- 2. mysql : 테이블의 모든 열을 varchar에서 십진수로 변경하십시오.
- 3. 특정 단어에 대해 mysql 테이블의 열을 실행하십시오.
- 4. PHP의 중복에 대한 테이블의 mysql 열을 확인
- 5. 다른 테이블의 열을 기반으로 테이블의 열을 업데이트합니다.
- 6. mySQL 다른 테이블의 해당 열에서 모든 열을
- 7. 다른 조건에서 다른 테이블의 열을 연결하는 mysql
- 8. 다른 테이블의 계산에서 테이블에 mysql 열을 추가하십시오.
- 9. mysql 테이블의 기존 열을 암호화하는 방법은 무엇입니까?
- 10. MySQL 테이블의 모든 열을 문자열 형식으로 반환합니다.
- 11. mysql 테이블의 모든 열을 특정 값으로 설정하십시오.
- 12. PHP com_dotnet을 어떻게 비활성화합니까?
- 13. webspec에서 javascript를 어떻게 비활성화합니까?
- 14. Angular에서 img를 어떻게 비활성화합니까?
- 15. 어떻게 Runkit을 비활성화합니까?
- 16. 어떻게 gridview에서 editmode를 비활성화합니까?
- 17. UNSAFE_CAST 옵션을 어떻게 비활성화합니까?
- 18. 모바일보기에서 플러그인을 어떻게 비활성화합니까?
- 19. Cython을 어떻게 비활성화합니까?
- 20. 난을 어떻게 비활성화합니까?
- 21. Tkinter에서 항목을 어떻게 비활성화합니까?
- 22. 텍스트 필드를 어떻게 비활성화합니까?
- 23. 동일한 테이블의 열을 참조하여 테이블의 MySQL 업데이트 레코드
- 24. MySQL 테이블에 인덱스 열을 어떻게 추가합니까?
- 25. MySQL 테이블의 컬럼을 어떻게 고유하게합니까?
- 26. EclipseLink를 사용하여 MySQL에서 테이블의 열을 어떻게 업데이트합니까?
- 27. Excel 2016 자동 가로 스크롤을 어떻게 비활성화합니까?
- 28. onclick 이벤트가 발생하면 어떻게 비활성화합니까?
- 29. ios6 Xcode에서 NSConstraint를 어떻게 비활성화합니까?
- 30. 스위치가있는 안드로이드에서 Seekbar를 어떻게 비활성화합니까?
그냥 이름을 바꿀 수 있습니다 –
^^ 바로. 코드가 이름으로 참조하면 코드가 실패합니다. 그러나 코드가'SELECT *'을 사용하고 거기에있을 것으로 기대한다면, 당신은 그것을 막을 수 없다. 열을 제거하면 나중에 실패합니다. ('SELECT *'를 피하는 한 가지 이유) –
필자는 SELECT *의 함정을 결코 생각해 보지 못했습니다. 그 점을 지적 해 주셔서 감사합니다. 그리고 이름 바꾸기 아이디어는 좋으며 columnname1과 같습니다. 그러나 코드에서 함수를 주석으로 처리하는 것과 비슷한 컬럼을 "주석 처리"하는 방법이 있습니까? – myk