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つのルールのまとめ

推薦する

Vueは右上隅の時間表示のリアルタイム更新を実装します

この記事の例では、右上隅の時間表示のリアルタイム更新を実現するためのVueの具体的なコードを紹介しま...

Windows10 mysql 8.0.12 非インストール版 設定 起動方法

この記事では、MySQL 8.0.12のインストールされていないバージョンを設定して起動するための具...

Vue でのスロット配置と使用状況分析

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

HTML ページ ソース コード レイアウトの概要_Powernode Java Academy

HTML ページ ソース コード レイアウトの概要この紹介では、Google のホームページのソー...

Linuxはシェルスクリプトを使用して履歴ログファイルを定期的に削除します

1. ツールディレクトリのファイル構造 [root@www tools]# ツリーツール/ ツール/...

Squid を使用して http および https 用のプロキシ サーバーを構築する方法

nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

SSHのssh-keygenコマンドの基本的な使い方の詳細な説明

SSH 公開鍵認証は、SSH 認証方式の 1 つです。 SSH パスワードフリーのログインは公開鍵認...

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、...

CSS でのナビゲーション バーとドロップダウン メニューの実装

1. CSSナビゲーションバー(1)ナビゲーションバーの機能ナビゲーション バーを使いこなすことは、...

Vue要素ヘッダーにスラッシュを追加するための実装コード

<テンプレート> <div class="アプリコンテナ"&...

MySQL統計テーブルのサイズを説明する例

各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...

Portainer を使用して Docker のビジュアル インターフェースを構築する方法

ポーテナーの紹介Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な...

moment.jsの時間と日付の処理の詳細な説明

月曜日から日曜日の時間形式の変換(Y --- 年 M --- 月 D--- 日) : : : : :...

Docker コンテナの uid と gid の詳細な理解

デフォルトでは、コンテナ内のプロセスは root ユーザー権限で実行され、この root ユーザーは...