問題タブ [mysql-error-1267]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - utf8_bin フィールドの MYSQL 大文字と小文字を区別する検索
フィールドに一意のインデックスを追加できるようにするために、テーブルを作成し、照合順序をutf8に設定しました。ここで、大文字と小文字を区別しない検索を行う必要がありますが、collate キーワードを使用していくつかのクエリを実行すると、次の結果が得られました。
エラー 1253 (42000): 照合 'utf8_general_ci' は、CHARACTER SET 'latin1' に対して有効ではありません
エラー 1267 (HY000): 操作 '=' の照合 (utf8_bin,IMPLICIT) と (latin1_general_ci,EXPLICIT) の不正な組み合わせ
私はSQLにかなり慣れていないので、誰かが助けてくれるかどうか疑問に思っていました.
mysql - 照合の不正な組み合わせMySQLエラー
大量のデータを処理しているときにこの奇妙なエラーが発生します...
これを解決するにはどうすればよいですか?このエラーが発生しないように文字列をエスケープすることはできますか、それともテーブルのエンコーディングを変更する必要がありますか?その場合、何に変更する必要がありますか?
mysql - MySQLの奇妙さを備えたdjango文字セット
私が見ている
私の変数のいくつかはUTF8文字列のようです
'名前':'p \ xc7 \ x9d \ xca \ x87 \ xc9 \ x9f \ xc4 \ xb1 \ xc9\xa5sバッジ'
これは構成の問題ですか?もしそうなら、どうすればそれを解決できますか?すべてをUnicodeで処理したいと思います(私は思います)。
mysql - MySqlでの照合エラーの不正な組み合わせ
以前の質問からこの回答を得たばかりで、うまくいきます!
しかし、この余分なビットを挿入すると、次のエラーが発生します。
ドキュメンテーション #1267 - 操作 '=' の照合 (latin1_swedish_ci,IMPLICIT) と (latin1_general_ci,IMPLICIT) の不正な組み合わせ
表は次のとおりです。
id, username, rating, month
mysql - mysql select concat(charfield, format(doublefield,8)) でエラー 1267 が返される
これは皮肉なことに、1) concat(charfield, doublefield) が機能するため (連結されるフィールドの 1 つが数値であってもかまいません)、2) mysql リファレンスが次のように示しているためです: CONCAT(str1,str2, ...) CONCAT および FORMAT のプロトタイプとしては、次のようになります。結果を文字列" .
必死になって試してみselect concat(symbol, cast(format(closeprice,8) as char))
ましたが、うまくいきました。だから、「なぜこの男は私たちの時間を無駄にしているのだろう。うまくいくものを見つけたのだ」と思うかもしれません。しかし、それは私には意味がないので、誰かがそれを解決できるかどうか疑問に思っていましたか?
mysql - データベース間で一貫性のない MySQL COLLATE エラー
単一のクエリを実行する必要がある、物理的に分離された 2 つの MySQL データベースがあります。
クエリには、次のような SQL セクションがあります。
データベース A では問題なく動作しますが、データベース BI では次のエラーが発生します。
照合順序を削除すると、データベース B では問題なく動作しますが、データベース AI では次のエラーが発生します。
両方のデータベースで実行されるクエリのバージョンはありますか?
または、両方の場所でクエリを満足させるために、どちらかのデータベースで変更できる構成はありますか?
アップデート:
データベース A はバージョン 5.1.38、データベース B はバージョン 5.1.34
mysql - mysql 照合の不正な組み合わせ (latin1_swedish_ci、IMPLICIT)
このクエリを実行すると
このエラーが発生し続けます。
#1267 - 操作 '=' の照合 (latin1_swedish_ci,IMPLICIT) と (utf8_general_ci,COERCIBLE) の不正な組み合わせ
助けてくれてありがとう
mysql - utf8 charset を使用して MySQL テーブル列にインデックスを付ける効率的な方法
これは、完全に utf8 文字セットであるデータベース内のテーブルの 1 つです。問題はここにあります (そして、私は今までそれについて新しく知りませんでした) pc_name
。MySQL はすべての文字に対して 3 バイトを予約するため、列のインデックスは 3 倍大きくなります。この場合、インデックスはより多くのスペースを必要とします。
この値は一意である必要があるため、短いインデックスを作成することはできません。解決策の1つを設定できますがpc_name char(255) CHARSET latin1 NOT NULL,
、これが問題かどうかはわかりません。これは良いアイデアですか、それとも私が知らない解決策はありますか?
更新:pc_name
列は有効な utf8 であることがアプリケーションで検証されます。また、西洋以外の文字も使用できます。しかし、この場合、私はただ取引を行い、/[_A-Za-z]/
そのケースが価値がある場合にのみ許可することができます.
更新 2: pc_name
latin1 charset に設定しようとしましたが、次のような例外が発生します。Zend_Db_Statement_Exception: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
mysql - MySQLでクエリに参加する
メンバーと更新の2つのテーブルがあります
2つのテーブルには、2つのデータテーブルをリンクするmemberidというフィールドがあります。更新テーブルに保持されているデータのメンバーテーブルから名と名前を抽出するクエリを作成しようとしています。私が調べたいくつかの例に基づいた以下のクエリを使用してみました。
phpMyAdminでこれを実行しようとすると発生するエラー:
mysql - 2つのテーブルを接続するときのmysqlのバグ
ラムクエリを実行しようとすると、次のようなエラーが見つかります
#1267 - Illegal mix of collations (latin1_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='
私のテーブル構造は
と他のテーブルは