脚本宝典收集整理的这篇文章主要介绍了php – MySQL插入独特的技术,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找到最便宜的方法来确保插入的唯一值.具体来说,我的两个选择是:
>拥有一个生成此唯一ID的函数.在每一代中,测试数据库中是否存在该值,如果是,则重新生成,如果否,则返回值.
>生成随机字符串并尝试插入.如果插入失败,则测试错误为1062(密钥Y的MysqL重复条目X),重新生成密钥并插入新值.
依赖MysqL错误重新尝试插入是不是一个坏主意?正如我所看到的,该值可能是唯一的,似乎初始(使用技术1)是不必要的.
编辑#1
我还应该提到,值必须是6个字符长度的字符串,由大写字母和/或数字组成.它们也不能增量 – 它们应该是随机的.
编辑#2
作为旁注,我正在尝试为难以猜测的礼券创建兑换代码.使用数字和字母为每个字符创建36种可能性,而不是仅为数字为10或仅为字母为26.
这是我创建的解决方案的精简版本.在表中输入的第一个值是主键,它是自动递增的.如果插入成功,affected_rows()将等于1:
$code = $build_code(); while ((INSERT INTO certificates VALUES ('',$code) ON DUPLICATE KEY UPDATE pk = pk) && affected_rows() == 0) $code = $build_code();
以上是脚本宝典为你收集整理的php – MySQL插入独特的技术全部内容,希望文章能够帮你解决php – MySQL插入独特的技术所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。