MySQL中每<id>的唯一VARCHAR(65535)字段

时间:2016-08-20 15:41:23

标签: mysql constraints unique varchar

是否有解决方案在MySQL中每VARCHAR(65535)ID字段保持唯一?

1 个答案:

答案 0 :(得分:1)

我会在字段值上使用散列函数,并将其存储在同一个表的单独唯一字段中。

所以你的桌子会是这样的:

create table my_table (
   id integer not null primary key,
   text_content varchar(65535) not null,
   text_hash varchar(128) not null unique
);

在该表格上插入时,您将为text_content字段计算 sha256 哈希,并将其存储在text_hash字段中。这样,您可以非常确定text_content值在您的桌子上是唯一的。

如果你喜欢DB SIDE编程,你可以把这个逻辑放在一个触发器上,只要 MySQL 支持它们。