是否有解决方案在MySQL中每VARCHAR(65535)
个ID
字段保持唯一?
答案 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 支持它们。