【发布时间】:2011-09-26 19:53:45
【问题描述】:
我有两张桌子colorcode & users
colorcode
ID colorid colorname
------------------------
1 1 yellow
2 2 black
3 3 red
4 4 white
users
ID userid colorid
------------------------
1 1 1,2
2 2 3,4
3 3 1,3,4
4 4 1
如何检索和查询个人colorid
$aa = $db->query("SELECT * FROM colorcode");
$colors = array();
while ($colordata = mysql_fetch_assoc($aa)) {
$colors[] = $colordata["colorid"];
}
假设我想查询哪些用户有yellow 颜色以及我应该为users 使用什么语句
SELECT .. FROM users
WHERE colorid ....
【问题讨论】:
-
你应该改变你的结构。存储逗号分隔值导致的麻烦远比它解决的问题多。 @Shef 感谢 A Level 计算,我知道 1NF 是什么。万岁!
-
顺便说一下,如果“userid”和“colorid”可以用作唯一标识符的主键,则表不需要使用名为“ID”的列。