MySQLが2つのテーブルを関連付ける際のエンコードの問題と解決策

MySQLが2つのテーブルを関連付ける際のエンコードの問題と解決策

Mysqlが2つのテーブルを関連付けると、次のエラーメッセージが生成されます:照合順序の不正な組み合わせ

1. まず、ツールを使用してデータベースと2つのテーブルのエンコード方法を変更します。

2. この手順は非常に重要であり、フィールドのエンコード方法を変更する必要があります。

ALTER TABLE `テーブル名` CHANGE `dev_chancode` `フィールド` VARCHAR(32) CHARACTER SET gbk NOT NULL;

要約: テーブルを作成するときは、統一されたエンコード方法に注意する必要があります。そうしないと、後で処理するのが非常に面倒になります。

MySQL テーブルのエンコーディング変換問題を解決する方法

  1. エクスポートするデータ テーブルのテーブル構造をエクスポートします (Phpmyadmin、mysqldump などを使用できます。非常に簡単なので詳しく説明しません)。次に、エクスポートされた create table ステートメントの CHARSET=latin1 を CHARSET=utf8 に変更し、ターゲット ライブラリ newdbname で create table ステートメントを実行してテーブル構造を構築してから、データのエクスポートとインポートを開始します。注文:
  2. ./mysqldump -d DB_Dig > /usr/local/tmp/tables.sql
  3. コマンドライン: mysql コマンドライン、mysql -hlocalhost -uroot -p*** dbname を入力します。
  4. SQL を実行します。select * from tbname into outfile '/usr/local/tbname.sql';
  5. tbname.sql を UTF-8 形式に変換します。UltraEditor を使用することをお勧めします。エディターの [変換] -> [ASCII から UTF-8 (Unicode 編集)] を直接使用するか、ファイルを UTF-8 (BOM なし) 形式で保存することができます。
  6. mysql コマンドラインで set character_set_database=utf8 ステートメントを実行します。注: 次の手順で sql ファイルを読み取るときに、mysql が sql ファイルの内容を utf8 形式で解釈するように、mysql 環境変数を設定します。
  7. mysql コマンドラインで、load data infile 'tbname.sql' into table newdbname.tbname というステートメントを実行します。

以上が今回ご紹介した知識ポイントの全てです。123WORDPRESS.COMをご活用いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQL で日付を比較する際に発生するエンコードの問題の解決策
  • Mysql データベースのエンコーディングの問題 (データベース、テーブル、フィールドのエンコーディングを UTF8 に変更)
  • Mysql5 の文字セットエンコーディング問題を解決する

<<:  CentOS7にJDK8をrpmモードでインストールする

>>:  Reactの状態管理の3つのルールのまとめ

推薦する

HTML の空リンク href="#" と href="javascript:void(0)" の違い

# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...

Linux でのマルチスレッドおよびマルチプロセス クラッシュのシミュレーションに関する簡単な説明

結論:マルチスレッド環境では、スレッドの 1 つがクラッシュすると、他のスレッド (プロセス全体) ...

JSが絵柄デジタル時計を実現

この記事の例では、画像デジタル時計を実現するためのJSの具体的なコードを参考までに共有しています。具...

HTML テーブル マークアップ チュートリアル (14): テーブル ヘッダー

<br />HTML 言語では、タグを使用してテーブルにタイトルを自動的に追加できます。...

Vue Element UIの使用時に遭遇した問題をまとめる

目次1. DateTimePickerの日付選択範囲は現在時刻とそれ以前です2. DateTimeP...

変換を使用して純粋な CSS ポップアップ メニューを実装するためのサンプル コード

序文トップメニューを作成する場合、ポップアップのセカンダリメニューを作成する必要があります。 以前の...

mysql8.0.20 のダウンロードとインストールおよび発生した問題 (図とテキスト)

1.ブラウザでmysqlを検索してダウンロードしてインストールしますアドレス: https://d...

MySQL データベースのインストールと Navicat for MySQL の使用に関するチュートリアル

MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...

docker ベースで Prometheus+Grafana を構築する手順の詳細説明

1. プロメテウスの紹介Prometheus は、もともと SoundCloud によって開発された...

MySQLのexecute、executeUpdate、executeQueryの違い

execute、executeUpdate、executeQuery の違い (およびそれらの戻り値...

Mongodb の GUID 表示の問題の詳細な分析

問題を見つける最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込...

MySQL 8.0.13 で日付を 0000-00-00 00:00:00 に設定すると発生する問題を解決する

データベース操作を学び始めたばかりです。今日、データを保存していたところ、エラーが発生していることに...

vue+tp5はシンプルなログイン機能を実現

この記事では、参考までに、簡単なログイン機能を実装するためのvue+tp5の具体的なコードを紹介しま...

MySQL インフラストラクチャ チュートリアル: クエリ ステートメント実行プロセスの詳細な説明

序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...

Linux でショートカットアイコンを設定する方法

序文Linux でショートカットを作成すると、アプリケーションをより速く開くことができます。ここで、...