0

簡単にするために、「id」列と「gametitle」列が含まれており、約7,000行が既に入力されている、gamesという名前のDBテーブルがあります。

私がやりたいことは、URL で使用できるゲームタイトルの SEF エイリアスを生成する SQL の一部を用意することです (サイトで URL 書き換えを正常に実行しています)。

新しいフィールドは、「gamealias」という名前の新しい列に入力されます。

たとえば、「Halo: Combat Evolved」というゲームタイトルがあった場合、特殊文字が削除され、「halo-combat-evolved」のようなものが生成されます。テーブル内のすべてのエイリアスは、ゲームの URL で使用されるため、一意である必要があります。例: http://thegamesdb.net/game/halo-combat-evolved/

また、新しい行の挿入時に、エイリアスを PHP で処理する必要なく SQL から自動的に生成できるとよいでしょう (おそらく SQL フィールドのデフォルト値を何らかの方法で使用します)。ただし、これを行う必要はありません。 SQLで魔法のように不可能な場合、PHPで。

4

1 に答える 1

0

これは、トリガーと正規表現置換UDFを使用してMySQLで実行できると思いますが、PHPを使用するだけの方がおそらく簡単なルートです。タイトルの主キーを文字列に統合すると、gamealiasの一意性を簡単に保証できます。たとえば、「halo-combat-evolved-321」を出力するものを考えてみます。

于 2011-10-15T22:54:39.997 に答える