MySQL触发器检查slug是否已经存在,如果确实存在,则更改slug

时间:2013-05-09 08:09:59

标签: php mysql sql triggers

我是很长时间的php / mysql开发人员但是最近才开始研究使用触发器。根据我的理解,您可以使用它们在添加/修改/删除记录时执行操作。

考虑到这一点,我想到了我正在组装的当前简单的cms脚本。我一直在计划这样做,以便根据页面名称创建一个URL slug(例如,一个标题为'Hello World'的页面会有slug'hello-world')。

通常,当我之前完成此操作时,我已经检查了slug是否已经在使用中,并向用户发回错误,要求他们修改它,或者在slug不太重要的某些情况下,如果数字已被使用,则在其末尾附加“-1”或“-2”,“ - 3”等。

然而,对于触发器,它给了我一个可能的想法,但是我感觉它可能“超出范围”可以/应该使用什么触发器。

我的想法是,当插入一条记录时,它会运行一个查询来检查slug是否已被使用,如果是,则更改它。我无法解决的唯一问题是如何解决(如果确实甚至可能)是继续通过记录迭代直到找到一个免费的(例如,如果'hello-world','hello-world-1'和'hello -world-2'被采取了,它基本上遍布所有三个,然后最终到达'hello-world-3'作为可以自由使用的slu ..

这是值得追求还是我为了试图使用触发器而在这里过于复杂?

0 个答案:

没有答案
相关问题