시나리오 : 사용자 이름을 변경할 수있는 사용자가 있습니다 (불행히도 사이트를 시작할 때이 기능을 추가하는 것에 대해 생각하지 않았습니다).하지만 MySQL 데이터베이스에는 110 개의 테이블이 있습니다.많은 MySQL 테이블에서 필드를 변경하십시오.
각 테이블의 사용자 이름을 업데이트하기 위해 110 개의 쿼리를 실행하는 스크립트를 만들어야합니다 (또는 새 테이블을 추가 할 때 스크립트를 업데이트해야 함). 또는 모든 필드를 연결하는 방법이 있습니다. 테이블의 사용자 이름을 업데이트하면 다른 테이블에서 사용자 이름이 업데이트됩니다.
여러 테이블에 걸쳐 키를 업데이트하는 것은 좋지 않습니다. 이 기회를 빌어 데이터베이스를 재구성하여 모든 사용자에 대해 자동 증가 정수 기본 키를 추가하고이를 사용자 이름 대신 외래 키로 사용할 수 있습니다. 큰 변화지만 일단 끝나면 후회하지 않을 것입니다. 보너스로 더 나은 성능과 디스크 사용량을 얻을 수 있습니다. –
나는 각 사용자, 사용자 ID에 대해 자동 증가 정수 키를 가지고 있지만, 다른 모든 테이블은 사용자 이름을 참조합니다. 그렇지 않으면 논쟁의 여지가 없으며이 질문을하지 않을 것입니다. –
그래,이게 가능하지 않을 것 같아서 나는 많은 질문을해야 할 것이다. MyISAM을 사용해야하고 사용자 이름 대신 사용자 ID를 사용하도록 전환하는 것은 사이트가 라이브로 간주되는 옵션이 아닙니다. –