私は長い間 php/mysql 開発者ですが、トリガーの使用を検討し始めたのはつい最近のことです。私の理解では、レコードが追加/変更/削除されたときにそれらを使用してアクションを実行できます。
これを念頭に置いて、私がまとめている現在の単純な cms スクリプトについて考えました。現状では、ページ名に基づいて URL スラッグが作成されるようにすることを計画しています (たとえば、'Hello World' というタイトルのページには 'hello-world' というスラッグがあります)。
一般的に、以前にこれを行ったときに、スラッグが既に使用されているかどうかを確認し、ユーザーにエラーをスローして変更を依頼するか、スラッグがあまり重要でない場合は「-」を追加しました。番号がすでに使用されている場合は、「-2」、「-3」など。
ただし、トリガーを使用すると、考えられるアイデアが得られますが、トリガーを使用できる/使用する必要があるものについては、「範囲外」である可能性があると感じています。
私の考えでは、レコードが挿入されると、クエリを実行してスラッグが既に使用されているかどうかを確認し、使用されている場合は変更するというものでした。解決方法がわからない唯一の問題 (実際に可能である場合) は、空きレコードが見つかるまでレコードを繰り返し処理することです (たとえば、'hello-world'、'hello-world-1'、および 'hello の場合)。 -world-2」が取得されると、基本的に 3 つすべてをループし、最終的に自由に使用できるスラッグとして「hello-world-3」に到達します。
これは追求する価値がありますか、それともトリガーを使用しようとするためにここで物事を過度に複雑にしていますか?