我们可以在MySQL中隐藏一些行吗?

时间:2011-11-02 08:14:16

标签: mysql sql

假设我们从php代码中检索表数据
1-不删除和恢复表中的特定行,并且
2-没有列“hidden”(值为0或1)并使用查询
SELECT ..... WHERE....AND hidden=0

是否可以暂时“隐藏”某些行?
或者最好的方法是什么?

4 个答案:

答案 0 :(得分:3)

另一种方法是创建一个不包含不需要的行的VIEW;如果要求具有(半)永久性质,那可能会更好。有关详情,请参阅here

答案 1 :(得分:1)

您如何知道要删除哪些行?例如,如果您知道每个行的ID,则可以在查询中附加排除

AND id NOT IN (4,9,28)

答案 2 :(得分:1)

您可以使用WHERE id NOT IN

SELECT * FROM talName WHERE id NOT IN (1, 3)

+----+---------+-----+
| id |  name   | age |
+----+---------+-----+
|  2 | John    |  23 |
|  4 | Mary    |  21 |
|  5 | Michael |  26 |
+----+---------+-----+

答案 3 :(得分:0)

没有删除就无法隐藏,因为隐藏标记已经完成(隐藏= 1)。

虽然正确的方法是更改​​第一个查询,但由于您不会检索不需要的数据,您可以:

  • 查询查询,添加'where hidden = 0'部分
  • 过滤处理表格的脚本内的数据
  • 在预过滤的数据库上添加一个视图(其中hidden = 0)
  • 过滤客户端上的数据(以隐藏的所有内容开始,并使用jquery显示您想要的内容(不推荐作为解决方案)