原始查询是:
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。
答案 0 :(得分:2)
你正在使用'而不是',(即奇怪的引号)
对于您的新问题,如果要引用表名或列名,则需要使用`s(反引号)而不是'(引号)。
答案 1 :(得分:1)
左右单引号(‘
和’
)应替换为普通撇号('
)。
或者它被称为直单引号?
答案 2 :(得分:0)
在不知道您使用该SQL语句的确切位置和方式的情况下,我只能猜测它可能是一个编码问题。尝试将编码更改为UTF-8。
答案 3 :(得分:0)
所有mysql表和字段名都应该用反引号转义:` 应该用单引号括起所有mysql字符串:' 试试这个:
UPDATE `test`.`documents` SET `title` = '测试中文', `content` = 'this is my test document number two,应该搜的到吧' WHERE `documents`.`id` = 2;
解决#3:
您需要更改该表的默认字符集:“ALTER TABLE
test .
documents . CONVERT TO CHARACTER SET utf8;
”但要小心,这可能会更改表的存储大小要求,因此如果它很大table,计划查询以执行一些操作。
解决#4: 你应该将以下内容添加到my.ini的[mysqld]部分:
collation_server=utf8_unicode_ci
character_set_server=utf8
答案 4 :(得分:0)
UPDATE test.documents
SET title = '测试中文',
content = 'this is my test document number two,应该搜的到吧'
WHERE documents.id = 2;
也没关系,同样的问题也是我的3