-3

我在mysql中有一个这样的表,mysql中的数字和单词被stroed为“文本”

+---------+----------+
| 数字 | 话|
+---------+----------+
| 1 | 帮助 |
| 2 | 帮手 |
| 3 | 帮助 |
+---------+----------+

但是这句话

SELECT * FROM Talbe(just refer the talename) WHERE words='help'

不返回任何结果,我不知道为什么以及我错了?并且表格中的“帮助”前后没有任何空白

4

5 回答 5

2
SELECT * FROM Table AS t WHERE t.words='help'

尝试使用别名,这样它就可以工作了。表是保留关键字将表的名称更改为其他名称

SELECT * FROM myable AS t WHERE t.words='help

另一种方法是逃避

SELECT * FROM `Table` WHERE words='help'

但我建议更改表名并使用别名

于 2013-04-25T07:57:25.260 回答
2

如果 MySQL 没有在您的查询上抛出任何错误,那么很可能 Table.words 包含其他不可打印的字符。尝试执行以下操作:

SELECT t.words, hex(t.words), 'help', hex('help'), hex(t.words) = hex('help')
FROM Table t
WHERE words LIKE '%help%'

它将任何不可打印/不可见的字符(例如空格)编码为十六进制。比较 hex(t.words) 和 hex('help'),很可能你在 t.words 的前面或末尾有空格(十六进制中的 20)或换行符。

于 2013-04-25T08:10:50.937 回答
0

尝试:

SELECT * FROM `Table` WHERE words='help'

或者:

SELECT * FROM `Table` WHERE words like 'help'
于 2013-04-25T07:58:14.713 回答
0

尝试使用引号:

SELECT * FROM `Table` WHERE `words` = 'help'
于 2013-04-25T07:58:17.447 回答
0

只是问显而易见的。您确定表格中有文字“帮助”吗?如果是的话你可以试试

SELECT * FROM table

然后右键单击结果中的“帮助”并复制文本并将其放在查询中

SELECT * FROM tableName WHERE words = 'copied text'

有时您可能会在没有注意到或意外的情况下进入一个额外的空间(这曾经发生在我身上)。由于您尝试了上述所有答案,但它没有奏效......这可能是问题所在。希望它有效。

于 2013-04-25T08:10:32.187 回答