ホームページ  >  記事  >  データベース  >  mysqlで照合順序を変更する方法

mysqlで照合順序を変更する方法

WBOY
WBOYオリジナル
2022-05-26 17:24:304997ブラウズ

方法: 1. 「my.cnf」ファイルを設定し、mysqld 配下に「character_set_server=modified content」と「collat​​ion_server=modified content」を追加します; 2. 「systemctl restart mysqld」を使用して再起動できます。

mysqlで照合順序を変更する方法

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysql で照合順序を変更する方法

[問題エラー]
データベースにデータを挿入するとき、varchar 型フィールドに中国語のデータを挿入するとエラーが発生します。
元のエラー テキスト:
エラー 1366 (HY000): 列 'アドレス' の文字列値が正しくありません: '\xE8\xA5\xBF\xE5\xAE\x89'

[原因]分析 ]
show full columns from user_bean; ステートメントを通じてフィールドの照合属性を確認し、フィールドの照合属性の値が latin1_swedish_ci であることを確認します。 、フィールドがデフォルトで英語であることを示します。中国語が設定されていないため、中国語を入力すると、mysql は「文字列の値が正しくありません」というエラーを報告します。

[解決策]

1. mysql 設定ファイル /etc/my.cnf, vi /etc/my を編集します。 cnf

[mysqld] の下に 2 行を追加して

character_set_server=utf8
collation_server=utf8_general_ci

2 を追加します。Mysql サービスを再起動しますsystemctl restart mysqld

データベースに中国語のデータが含まれています。成功しました!

: 上記の手順により、今後テーブルを作成する際のフィールドの照合属性の問題は解決できますが、以前に作成されたテーブル フィールドの照合属性値は変更されません。
以前に作成したテーブルを変更したい場合はどうすればよいですか?
方法 1: 元のテーブルを変更するには、同様のステートメントを使用できます。
alter table user_bean change address address varchar(255) Character set utf8 Collat​​e utf8_general_ci not null;
方法 2: 元のテーブルを削除して再作成します。

[コマンドの概要]

show full columns from 表名

vi /etc/my.cnf
character_set_server=utf8
collation_server=utf8_general_ci

systemctl restart mysqld

alter table 表名 change 要修改的字段 字段名 数据类型  character set utf8 collate utf8_general_ci 约束条件;

推奨学習: mysql ビデオ チュートリアル

以上がmysqlで照合順序を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。