MySQLサーバ5.7.27と8.0.19クライアントに接続します。特殊文字を使用している場合、列のために長すぎるデータの取得

QLands:

私は、5.7サーバーで、次のように定義されたMySQLのテーブルを持っています:

+------------------------+-------------+------+-----+---------+-------+
| Field                  | Type        | Null | Key | Default | Extra |
+------------------------+-------------+------+-----+---------+-------+
| household_location_cod | int(1)      | NO   | PRI | NULL    |       |
| household_location_des | varchar(8)  | YES  |     | NULL    |       |
| rowuuid                | varchar(80) | YES  | UNI | NULL    |       |
+------------------------+-------------+------+-----+---------+-------+

次のINSERT作品:

INSERT INTO lkphousehold_location (household_location_cod,household_location_des)  VALUES ('2',"Matiguas");

(A)と次の文字ません。

INSERT INTO lkphousehold_location (household_location_cod,household_location_des)  VALUES ('3',"Matiguás");

私は5.7.xクライアントに接続したときにこのエラーは発生しませんでした。任意のアイデアなぜですか?

私は、5.7から8.0へのsql_modeが、変更のサーバーhas't、単にクライアントの設定に関するいくつかの回答を参照してください。これは、クライアント構成ですか?

ikyuchukov:

あなたは、最も可能性の高い別の照合順序と文字セットを使用して、あなたの古いクライアントやご新規の方で、次の出力を確認し、次のとおりです。

mysql> SHOW SESSION VARIABLES LIKE 'character\_set\_%';
+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| character_set_client     | latin1 |
| character_set_connection | latin1 |
...
| character_set_results    | latin1 |
...
+--------------------------+--------+
mysql> SHOW SESSION VARIABLES LIKE 'collation_connection';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
+----------------------+-------------------+

あなたは確認することができhttps://dev.mysql.com/doc/refman/8.0/en/charset-connection.htmlの詳細については。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=32317&siteId=1