varchar(4000)列的唯一性约束

时间:2013-11-14 11:16:01

标签: mysql unique duplication

我将URL存储在具有varchar(4000)数据类型的列中。我想在此列上强制执行唯一性约束,但由于4000超出最大限制,因此无法执行此操作。

有没有办法在这些列上强制执行唯一性?

1 个答案:

答案 0 :(得分:0)

使用索引无法强制执行长字段的唯一性。

方式可能会在插入/更新之前在trigger内执行选择,并且对于列中已包含的值失败。

应用程序级别或存储过程内部的可行解决方法可能是在事务内部执行新值的选择,然后执行插入(如果该值尚未存在)。

在任何情况下,相关列的一部分应该(非唯一)索引以加速选择。