0

我有一个名为 games 的数据库表,为了简化,它包含“id”和“gametitle”列,并且已经填充了大约 7,000 行。

我想做的是有一段 SQL 可以为我可以在 URL 中使用的游戏标题生成一个 SEF 别名(我已经在网站上成功运行了 URL 重写)。

新字段将输入到名为“gamealias”的新列中。

例如,如果我的游戏名称为“Halo: Combat Evolved”,它会丢弃任何特殊字符并产生类似于“halo-combat-evolved”的内容。表中的所有别名都必须是唯一的,因为它们将在游戏 url 中使用......例如http://thegamesdb.net/game/halo-combat-evolved/

此外,如果在插入新行时,可以从 SQL 自动生成别名,而不必在 PHP 中处理它(可能以某种方式使用 sql 字段默认值),那将是很好的,尽管我不介意这样做如果在 SQL 中不可能神奇地使用 PHP。

4

1 回答 1

0

我认为这可以在 MySQL 中使用触发器和正则表达式替换 UDF 来完成,但仅使用 PHP 可能是一条更简单的路线。如果将标题的主键与字符串集成,则可以轻松保证 gamealias 的唯一性。例如,考虑输出“halo-combat-evolved-321”的东西。

于 2011-10-15T22:54:39.997 回答