背景:我使用PHPMyAdmin工具来运行MySQL查询。 MySQL版本是5.1.55。我已经使用MySQL和这个PHPMyAdmin工具大约7年了,从未见过这个错误。我正在尝试做一个简单的更新查询,将ne更改为gb(column = team,table = info)。当我使用PHPMyAdmin尝试进行更改时,
我收到错误消息:
UPDATE `pickem`.`info` SET `team` = 'gb' WHERE CONVERT(`info`.`team` USING utf8) = \'ne\'.
问题:这里出了什么问题?什么是CONVERT使用来自的UTF8消息。如何更新我想要的字段?我曾试图在我自己的update info set team ="gb" where team = "ne"
中输入SQL代码,但这也不起作用。我收到错误消息:
There seems to be an error in your SQL query. The MySQL server error output below, if there is any, may also help you in diagnosing the problem
ERROR: Unknown Punctuation String @ 22
STR: =\
SQL: update info set team =\"gb\" where team = \"ne\"
似乎系统在那里放了斜杠,并没有让我做这个简单的更新查询。
我很感激有关如何解决此问题的任何建议。
谢谢!
答案 0 :(得分:0)
你正在使用phpMyAdmin,对吗?尝试使用HeidiSQL。
同时检查您的PHP版本,
gpc_magic_quotes
已在PHP 5.4.0中删除
我尝试在phpMyAdmin上运行您的代码,删除\'ne\'
处的反斜杠并且运行正常。
尝试在HeidiSQL中运行简单的更新查询,并检查问题是否存在。
UPDATE `pickem`.`info` SET `team` = 'gb'
如果运行正常,请将其修改为
UPDATE `pickem`.`info` SET `team` = 'gb' WHERE `team` = 'ne'
附加旁注 - 检查编码和数据类型。你可能忽视了一些事情......
如果你的查询在HeidiSQL上运行正常,你可以放心地假设你的phpMyAdmin安装/配置有问题
编辑:
您提供的值是否包含' \'在他们里面?如果是这样,你必须这样做
UPDATE `pickem`.`info` SET `team` = 'gb\\'
编辑2:
与此同时,请尝试使用它来暂时解决您的问题。
UPDATE `pickem`.`info` SET `team` = CONCAT('en') WHERE `team` = CONCAT('gb')
编辑3:
如果所有其他方法都失败了,您可能会得到this或this。由于您使用的是PHP 5.3,我担心您的托管服务提供商可能已启用gpc_magic_quotes
选项。联系他们。