URL作为表名

时间:2014-10-19 14:58:35

标签: mysql

我在JDBC MySQL数据库中有一个表,其中包含唯一字符串字段的记录,该字符串是一个URL。每个URL都需要有一个以该确切URL命名的表。

问题: 某些URL由超过64个字符组成,超过了表标识符的最大长度(MySQL Reference)。 URL包含不允许的字符。

我应该如何处理? 我的想法是找到或创建某种编码器,它将遵循限制并充当双射功能。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

每个网址的表格?不,那很傻。

你应该有一个带有URL的表和另一个带有1:很多关系的表。你的想法不具备可扩展性。

我建议您不要使用URL作为主键。

更好的想法是来自数据库的自动生成密钥和URL列上的UNIQUE约束。现在,如果您愿意,您的URL可以是CLOB。不应该以任何方式与length limitations发生冲突。

答案 1 :(得分:0)

将您的表命名为URL是个糟糕的主意。您不仅会遇到最大名称长度问题,还会遇到编码问题和转义问题。

更好的方法是生成自动名称(table1,table2等),并有一个索引表,将URL映射到为其创建的表