避免 MySQL 中重复长文本条目的最佳方法
我需要收集表单输入并将其存储到数据库中。这很容易。困难的部分是我无法在长文本字段上创建唯一的键。
在这种情况下,通常采取什么措施来帮助防止用户输入重复的条目?
谢谢, 亚历克斯
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我需要收集表单输入并将其存储到数据库中。这很容易。困难的部分是我无法在长文本字段上创建唯一的键。
在这种情况下,通常采取什么措施来帮助防止用户输入重复的条目?
谢谢, 亚历克斯
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
更新
直接问题:
您应该创建一个附加字段,如本示例所示
注意:
示例:
进一步阅读:
UPDATED
Direct Question:
You should create an additional field as in this eaxmple
NOTE:
EXAMPLE:
Further SO Readings:
创建要在
INSERT
和UPDATE
上触发的LONGTEXT
条目的单独MD5
哈希值。该哈希列应该有一个UNIQUE
键并且应该是CHAR
类型(因为它总是具有相同的大小)。这将允许唯一的密钥。Create a separate
MD5
hash of theLONGTEXT
entry to be triggered onINSERT
andUPDATE
. That hash column should have aUNIQUE
key and should be ofCHAR
type (since it will always be the same size). This will allow for the unique key.在长文本字段上创建索引。然后在保存记录之前,搜索现有记录以查找用户刚刚输入的测试。如果找到,则不允许保存。
Create an index on your long text field. Then before saving a record, search the exisitng records for the test the user just entered. If found, don't allow the save.