私はいくつかのサーバーにインストールできるプロジェクトに取り組んでいます。私が遭遇する問題は、異なる照合のためにサーバーとテーブルを設定できることです。 1台のサーバーでは、エラーを受信し、私はだから私は、私はクエリにCOLLATE utf8_general_ci
を追加することによって、それを固定思っPHP MySQLの照合の問題 - 結合テーブル
PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
ました。私はそれがなくて、「ただ働き」を作るために私のクエリに何かできることがありますそれはそこに固定され、それが私のサーバー上で働いていたが、その後、他の誰かが自分のサーバー上でそれを実行しようとしたと
Syntax error or access violation: 1253 COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
を受けMySQLサーバーの設定について心配する必要はありませんか?クエリは以下の通りで、いくつかのテーブルを結合します。私はクエリそのものだけを含んでおり、コード全体を含んでいませんでした。これはPDOの準備文です。
SELECT t.tid, a.clientid, tt.status, ts.showactive FROM TABLE1 t INNER JOIN TABLE2 a ON t.related_asset = a.id INNER JOIN TABLE3 tt ON tt.tid = t.tid INNER JOIN TABLE4 ts ON ts.title = tt.status WHERE ts.showactive = 1
これは遅れていますが、お返事いただきありがとうございます。スクリプトがサードパーティプログラムのアドオンになっているため、テーブルの一部を実際に制御できませんでした。私が最後にしたのは、他の2つのテーブルの照合に合ったテーブルを作成するスクリプトを変更することでした。つまり、サーバーにインストールされているユーザーは、照合エラーを回避する必要があります。 – CrunchyToast