我是一名长期的 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' 作为可以免费使用的 slug。
这值得追求还是为了尝试使用触发器而在这里使事情变得过于复杂?