我目前正在为练习建立一个小型社交网络,真的没什么大不了的,我只是想了解更多。
我遇到的问题是存储我的网站信息选项。
我检查了其他CMS数据库结构,并看到大多数基于主键保存这些是什么是字符串,这就是名称
例如
name | option |
site_name | my site |
site_desc | awesome_site|
signup_enabled | 1 |
我喜欢SocalEngine如何制作它,他们这样做
name | option |
core.site_name | my site |
core.site_desc | awesome_site|
core.signup_enabled | 1 |
activity.limit | 1 |
activity.enabled | 1 |
activity.refresh | 3000 |
如上所示,它们识别点之前的设置类型。所以core.
是核心设置,activity.
os是活动设置,这就是我所知道的
updating
部分不是问题,我知道我需要选择特定的主键循环,然后将主键传回并更新。
我的问题是我迷路了,如何让select query
和update query
来识别我正在更新或选择的名称。
所以我的意思是
核心表格
"SELECT * FROM settings WHERE core."
活动表格
"SELECT * FROM settings WHERE activity."
更新
UPDATE settings
SET column1=value1,column2=value2,...
WHERE core.=some_value;
所以这就是我所坚持的标准,可以请某人给我一个提示,或者一些基本的例子?谢谢
答案 0 :(得分:2)
选择所有核心选项:
SELECT * FROM settings WHERE name like 'core.%'
选择特定活动选项:
SELECT * FROM settings WHERE name ='activity.enabled'
更新特定核心选项:
UPDATE settings
SET option='new site name'
WHERE name = 'core.site_name';