我在mysql中使用WHERE和“=”时无法选择

时间:2013-04-25 07:55:08

标签: mysql

我在mysql中有一个这样的表,mysql中的数字和单词被标记为“text”

+---------+----------+
| numbers | words    |
+---------+----------+
| 1       | help     |
| 2       | helper   |
| 3       | helped   |
+---------+----------+

但句子

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

不会返回任何结果,我不知道为什么和我错在哪里? 并且在“帮助”之前和之后没有任何空白

5 个答案:

答案 0 :(得分: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'

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

答案 1 :(得分: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%'

它会将任何不可打印/不可见的字符(例如,空格)编码为十六进制。比较十六进制(t.words)和十六进制('help'),最有可能你得到了空格(十六进制为20)或者在前面或在t.words结尾处有换行符。

答案 2 :(得分:0)

尝试:

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

或者:

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

答案 3 :(得分:0)

尝试使用引号:

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

答案 4 :(得分:0)

只是要问明显的。您确定表格中有文字' help' 。如果是,您可以尝试

SELECT * FROM table

然后右键点击' help'从结果中复制文本并将其放在查询中

SELECT * FROM tableName WHERE words = 'copied text'

有时你可能没有注意到或意外地进入了一个额外的空间(这发生在我身上)。既然你尝试了上述所有答案,但它没有用......这可能就是问题所在。希望它有效。