programing

Mysql 테이블 조합 변경

newstyles 2023. 9. 6. 21:52

Mysql 테이블 조합 변경

스페인어 키워드가 몇 개 있는 오래된 테이블이 있습니다.collection은 latin1_swedish_ci입니다.
키워드가 포함된 열에는 Primary 인덱스가 있습니다.
collation을 utf8_general_ci로 변경하려고 하면 중복이 발견되어 불가능합니다.
그 지수로는 불가능합니다.
예를 들어, "카냐다"는 이미 존재하는 "캐나다"로 받아들여지지만 그것들은 다른 단어입니다.
그것은 phpMyAdmin을 사용한 것입니다.
다른 시도는 테이블을 file.sql로 내보내고 사용하는 것이었습니다.
sed 's/STRING_SOURCE/STRING_REPLACE/'
하지만 마지막에 mysql source가 나에게 같은 오류를 주었습니다 (예상했습니다 :)
저는 전체 데이터베이스와 함께 마지막 것도 시도해 봅니다.

MySQL 버전 5.5.64-MariaDB
phpMyAdmin, 데이터베이스/테이블, 탭 구조, 키워드 변경을 선택한 열, 그리고 마지막으로 드롭다운에서 collation ut8_general_ci를 선택했습니다.

키워드를 모두 유지하면서 이를 변경하려면 어떻게 해야 합니까?

당신은 스페인어에 집중하고 있기 때문에 일반적인 것이 아니라 스페인어 조합을 사용해야 합니다.utf8_spanish_ci그리고.utf8_spanish2_ci. 그들은 치료합니다.ñ사이에 별서로서n그리고.o. 다른 대조군 치료ñ그리고.n마찬가지로

한편.ç=c.

하지만ll두 개로 취급됩니다.lutf8_graphics_ci에 의해, 다음에 오는 것으로 처리됩니다.lzutf8_spanish2_ci. (사전 대 전화번호부에 대한 무언가 -- 고대 역사의 유물들을 기억하십니까?)

참조: http://mysql.rjweb.org/utf8_collations.html

8.0으로 업그레이드하면 다음 두 가지 옵션이 더 있습니다.utf8mb4_es_0900_ai_ci그리고.utf8mb4_es_trad_0900_ai_ci.

참조: http://mysql.rjweb.org/utf8mb4_collations.html

언급URL : https://stackoverflow.com/questions/58413645/mysql-table-collation-change