Php 有条件的人
有人能帮我找到这个查询的正确语法吗 我有,Php 有条件的人,php,mysql,Php,Mysql,有人能帮我找到这个查询的正确语法吗 我有,表1: id, int on, tinyint - this can be 0 or 1 name, varchar(2000) 从中,我尝试获得10个随机id/名称,它们的开设置为1 我应该使用什么查询?这应该可以: SELECT id, name FROM table1 WHERE `on` = 1 ORDER BY RAND() LIMIT 0,10; SELECT id,name FROM table1 WHERE `on`=1 OR
表1
:
id, int
on, tinyint - this can be 0 or 1
name, varchar(2000)
从中,我尝试获得10个随机id
/名称
,它们的开设置为1
我应该使用什么查询?这应该可以:
SELECT id, name FROM table1 WHERE `on` = 1 ORDER BY RAND() LIMIT 0,10;
SELECT id,name FROM table1
WHERE `on`=1
ORDER BY RAND()
LIMIT 0,10
已编辑:如前所述,上的列可能会导致语法错误,而不会出现反勾号请尝试以下操作:
SELECT id,name FROM table1 WHERE `on`=1 ORDER BY RAND() LIMIT 0,10
使用反勾号分隔字段名称。在这种情况下,您实际上必须在WHERE
条件下,因为“ON”是一个关键字。他正在寻找10个空格的限制,否则是的!啊!!我错过了限制,而且mysql不喜欢名为“on”的列。谢谢@MRW:在on=1的位置使用反勾号,因为on是一个关键字什么是反勾号?他们的一系列糟糕的关键字在哪里?我昨天也遇到了同样的问题,当时我试图调用一个列desc进行描述…没有工作…他们的一系列糟糕的单词在哪里?你忘记了结果数量的限制。错误是由“on”不是mysql可接受的列名引起的,我想…(令人惊讶的是,没有人发现!)没关系。您应该使用反勾号来分隔字段名。因为你没有向我们展示你到目前为止的尝试,我们无法猜测你没有这样做。
SELECT `id`, `name` FROM `table1`
WHERE `on` = 1
ORDER BY RAND()
LIMIT 0,10