我在MySQL中有一个表tbl_comments
。表中有四个字段user_name
,comment_id
,user_likes
,user_dislikes
。 user_likes
和user_dislikes
字段的类型为VARCHAR,在这两个字段中有逗号分隔的用户名。我应该在这种情况下使用哪种SQL查询
我有以下查询:
$query = "SELECT * FROM tbl_comments WHERE comment_id=223";
我的问题是我也想通过USER_NAME与此查询,并得到下面的输出
1. 0 (if user_name does not exist in user_likes and user_dislikes)
2. 1 (if user_name exists in user_likes)
3. 2 (if user_name exists in user_dislikes)
哪些SQL查询可以给我想要的结果?
我想你会与你的应用程序,如果你有一列内以CSV格式外键的列表遇到麻烦。我建议改变你的设计,以便你有一个新的表'user_opinion',它连接'from_user_id','to_user_id','type'(类型是L或D)。 – halfer 2013-03-03 09:00:56
其实我正在开发一个论坛。而你的建议看起来很有价值。我想我应该重新设计我的数据库。你可以请参考我可以帮助我在这方面的任何好的文章,教程等。因为我希望我的应用程序更高效。 – 2013-03-03 10:24:12
没有必要的教程能够帮助你解决这个具体的问题,但是如果你了解了数据库的规范化,就像Andre所说的那样,这肯定会有所帮助。另外需要注意的是:开发一个用于学习目的的论坛是很好的,但是请记住,已经有很多成熟的,经过充分测试的PHP论坛软件包了! – halfer 2013-03-03 12:05:24