我有两个mysql表“ category”和“ applications”,其中“ applications”表引用了“ category”。
my "applications" table looks like
id apps category
1 adobe reader 1&4&6&10
2 photoshop cs3 4&6&7&6
my "category" table looks like
id category
1 utilities
2 windows
3 linux
4 mac
5 multimedia
And so on ..
显然,一个应用程序可以具有多个类别,所以我在这里的问题是尝试选择存在某个类别的应用程序。 我尝试过
$query4 = "SELECT * from applictions Where category = '6';
但是它只会选择第一个类别为6的应用程序,例如6&5&1,因此,如果我有一个带有“类别5&3&6”的“ chrome浏览器”应用程序,则不会被选中。
答案 0 :(得分:1)
是的,关系数据库无法以这种方式工作。您需要所谓的多对多关系。
要实现此目的,您需要由此创建一个新表
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
在此表中,您将插入以下内容:
pip install django-heroku
这样,每个关系都有其自己的记录。您的查询将获取所有6类项目,如下所示:
tablename:
Applications_Have_Category
Fields:
Applications_id
Category_id
答案 1 :(得分:0)
我已经修复了代码,我用phpmyadmin搜索了表,直到找到返回结果的正确过滤器,结果我需要类似的东西
SELECT * FROM `softwares` WHERE `category` LIKE '%6%'
代替
"SELECT * from applictions Where category = '6';
谢谢。