집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)
최근 사업측에서는 개별 사용자 정보 삽입에 실패했다고 보고했으며 오류 메시지는 잘못된 문자열 값: "xF0xA5.... 이 프롬프트를 보면 다음과 같습니다. 문자셋 은 지원되지 않습니다. 희귀한 단어로 인해 발생하므로 필요한 친구들은
을 참고하시면 됩니다. 최근 업체 측에서 개별 사용자 정보 삽입에 실패했다는 소식이 전해졌고, 오류 메시지는 "잘못된 문자열 값:"xF0xA5...."와 유사했습니다. 이 프롬프트를 보십시오. 희귀 문자를 지원하지 않는 문자 세트로 인해 발생할 수 있습니다.
다음은 가상머신에서 재현한 시나리오입니다.
step1, 원래 테이블 구조 문자 집합 환경 시뮬레이션:
use test; CREATE TABLE `t1` ( `id` int(10) NOT NULL AUTO_INCREMENT, `real_name` varchar(255) CHARACTER SET utf8 DEFAULT '' COMMENT '姓名', `nick` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '昵称', PRIMARY KEY (`id`) ) ENGINE=InnoDBAUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='会员卡';
step2, 희귀 문자 삽입(sqlyog를 사용하여 시뮬레이션) ) :
1. 먼저 온라인 환경을 시뮬레이션하고 문자 세트를 설정합니다.
2. 희귀 문자를 삽입합니다. www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php?zfj=kzb&ks=24E20&js=257E3)
삽입하려고 합니다. 왕(word에서 alt를 누르고 152964를 입력). 삽입에 실패한 것을 확인할 수 있습니다.
3단계. real_name의 문자 집합 수정:use test; alter table t1 change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' ;대규모 온라인 테이블인 경우 pt-osc를 사용하여 처리할 수 있습니다.
pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' " D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --dry-run
pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' " D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --execute4단계. 실험을 다시 삽입합니다. 1. 먼저 문자 집합을 설정합니다. 2 다시 삽입하면 삽입에 성공했다는 것을 알 수 있습니다. 명령줄에서 네, 참고하시면 됩니다.
위 내용은 MySQL에 희귀 문자 삽입 실패를 처리하는 방법(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!