【发布时间】:2012-02-21 21:20:38
【问题描述】:
我试图对我的查询使用 MySQL 按位运算,我有这个例子:
table1
id ptid
1 3
2 20
3 66
4 6
table2
id types
1 music
2 art
4 pictures
8 video
16 art2
32 actor
64 movies
128 ..
...
现在,来自table1 的id = 3 是'66',这意味着它有64 or movies 和2 or art
但是
他不是也有两次32 or actor和2 or art吗??
希望你能明白我的困惑在哪里。我如何控制我想要返回的结果。在这种情况下,我想要64 or movies 和2 or art。
但有时我希望来自table2 的三个id's 属于来自table1 的id
有什么想法吗?
谢谢
【问题讨论】:
-
哇!这是一个糟糕的数据模型。
-
只是出于好奇,你为什么不使用一个单独跟踪 id -> ptid 关系的表?
-
你想在 MySQL 中使用按位运算来连接两个表???我的眼睛!护目镜什么都不做!但说真的,正如@jprofitt 所说,为什么不使用更标准的多对多关系模型呢?
-
dev.mysql.com/doc/refman/5.0/en/bit-functions.html 这是它的 MySQL 页面。
-
@Patrioticcow 公平问题。我发布了一个答案,因为它需要的空间比这里可用的空间多。
标签: php mysql bitwise-operators