使用主键存储网站设置选项作为字符串

时间:2013-10-31 06:15:43

标签: php mysql sql sql-update

我目前正在为练习建立一个小型社交网络,真的没什么大不了的,我只是想了解更多。

我遇到的问题是存储我的网站信息选项。

我检查了其他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 queryupdate query来识别我正在更新或选择的名称。

所以我的意思是

核心表格

"SELECT * FROM settings WHERE core."

活动表格

"SELECT * FROM settings WHERE activity."

更新

UPDATE settings
SET column1=value1,column2=value2,...
WHERE core.=some_value;

所以这就是我所坚持的标准,可以请某人给我一个提示,或者一些基本的例子?谢谢

1 个答案:

答案 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';