我正在尝试按成员、日期和问题在 MySQL 中添加约束,以便同一用户每天不能多次询问同一问题。
alter table questions add UNIQUE INDEX three_UNIQUE ( member_id , question , date );
但由于问题字段是长文本,我收到此错误:
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
有什么办法可以解决这个问题?
谢谢!!
最佳答案
您可以对问题进行哈希处理,并将哈希值存储为一个字段。由于散列值会小得多,您将能够对其添加约束。很可能没有两个独特的问题会散列为相同的值。
注意:当问题只有细微差别时,您会遇到与此相同的问题。
关于MySQL - 试图在长文本字段上获取唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10150885/