-1

元のクエリは次のとおりです。

UPDATE `test`.`documents` SET `title` = ‘测试中文’, `content` = ‘this is my test document number two,应该搜的到吧’ WHERE `documents`.`id` = 2;

その結果:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'my test document number two,应该æ

間違って変えました'

UPDATE 'test'.'documents' SET 'title' = '测试中文', 'content' = 'this is my test document number two,应该搜的到吧' WHERE 'documents'.'id' = 2;

そして得た:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''test'.'documents' SET 'title' = '测试中文', 'content' = 'this is my test do' at line 1

my.ini を設定するにはどうすればよいですか?

XAMPP Lite と MySQL バージョン 5.1.37 を使用しました。

4

5 に答える 5

2

', の代わりに ', を使用しています (つまり、奇妙な逆コンマ)

新しい問題では、テーブルまたは列の名前を引用する場合は、' (逆コンマ) の代わりに `s (バッククォート) を使用する必要があります。

于 2010-02-04T03:20:39.630 に答える
1
于 2010-02-04T03:32:15.673 に答える
0
UPDATE test.documents
SET title = '测试中文',
content = 'this is my test document number two,应该搜的到吧'
WHERE documents.id = 2; 

もOKです、同じ質問も私の3です

于 2010-02-04T03:56:00.670 に答える
0

すべての mysql テーブルとフィールド名はバッククォートでエスケープする必要があります: ` すべての mysql 文字列は一重引用符で囲む必要があります: ' これを試してください:

UPDATE `test`.`documents` SET `title` = '测试中文', `content` = 'this is my test document number two,应该搜的到吧' WHERE `documents`.`id` = 2;

#3に対処するには:そのテーブルのデフォルトの文字セットを変更する必要があります:「ALTER TABLEテスト.ドキュメント. CONVERT TO CHARACTER SET utf8;」 ただし、これによりテーブルのストレージサイズ要件が変わる可能性があるため、大きなテーブルの場合はクエリに少し時間がかかるように計画してください実行します。

アドレス #4: my.ini の [mysqld] セクションに次を追加する必要があります。

collation_server=utf8_unicode_ci
character_set_server=utf8
于 2010-02-04T03:36:40.000 に答える
0

その SQL ステートメントをどこでどのように使用しているかを正確に知らなくても、エンコードの問題である可能性があるとしか推測できません。エンコーディングを UTF-8 に変更してみてください。

于 2010-02-04T03:23:25.867 に答える