gpt4 book ai didi

mysql - zend 表单将重复条目插入 "username"用户字段,即使我已经检查过是否存在?

转载 作者:行者123 更新时间:2023-11-29 05:38:04 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,我们的网站有使用 zend 表单编码的注册表单,我在 zend db 插入操作之前检查了数据库用户名是否存在,它一直运行良好,对我们成千上万的用户也运行良好,但是只有少数(大约 100 条)记录有重复项自动存储(猜测),即使在 10 或 20 秒的差异内,除了自动递增列之外,不可能再次提交具有不同值的表单。

最佳答案

情况很简单,称为“赛车”。

1. User1 submit form (email: x@x.com)2. User2 submit form (email: x@x.com)3. verify no x@x.com for User14. verify no x@x.com for User2 - before nither of them added there is no x@x.com in DB 5. Add to db User16. Add to db User2 - you have got an duplication error.

解决方法:

1. unique index to filed email2. transaction (started from verification email exist up to insert a new record)

关于mysql - zend 表单将重复条目插入 "username"用户字段,即使我已经检查过是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9067264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com