0

VARCHAR パラメータを入力として使用する手順がいくつかあります。新しいデータベースをサーバーにアップロードするときに、VARCHAR パラメータを入力として使用すると問題が発生します。

そのストアド プロシージャは文字列を?(question sing)に変更しました

たとえば、次のストアド プロシージャがあります。

CREATE PROCEDURE `sp_insert`(
IN _title VARCHAR(30))
BEGIN
    INSERT INTO `myTable` SET `title` = _title
;END//

このクエリはおそらく次のように機能します。

myTableセットに挿入title= '???'

なぜこの問題が発生するのですか?

4

1 に答える 1

1

この問題は、テキストで utf8 データを使用している場合、データをインポートする前にデータベースが utf8 照合順序でなかった場合に発生します。

utf8データベースのこの3つのステップを覚えておく必要があることに注意してください。

  1. 接続は「SET NAMES UTF8」でなければなりません
  2. データベースは UTF8 照合を設定してから、データをインポートするかレコードを挿入する必要がありました
  3. すべてのテーブルと varchar フィールドは UTF8 照合を設定する必要があります
于 2012-07-31T17:08:52.200 に答える