我有这张表。这个MySQL查询有什么问题
id name parents
1 Apparel
46 Apparel 1
47 Child Apparel 1,46
49 Child Apparel 2 46,1
我试过这个查询,它工作正常。
SELECT * FROM categories WHERE 1 IN (parents)
id name parents
46 Apparel 1
47 Child Apparel 1,46
为什么这个查询带来1条记录而不是2条?
SELECT * FROM categories WHERE 46 IN (parents)
id name parents
49 Child Apparel 2 46,1
在我看来,第一个查询已返回3行结果。它是什么?像多对多的关系?你的查询同样工作,他们返回父母从指定数字开始的行 – teran 2012-03-20 13:44:46
设计违反了第一范式,如果可能你应该修复它http://en.wikipedia.org/wiki/First_normal_form – heikkim 2012-03-20 13:47:41
@teran你是对的。 – Neutralizer 2012-03-20 13:51:36