gpt4 book ai didi

Mysql在使用prepared statements时无法锁定表

转载 作者:行者123 更新时间:2023-12-03 16:02:03 24 4
gpt4 key购买 nike

在锁定表以进行写入后尝试运行准备好的插入语句给我这个mysql错误:准备好的语句协议(protocol)尚不支持此命令:LOCK TABLES tbl WRITE。

这个问题的任何解决方法?用于表的引擎:INNODB。

附言:我想锁定表,这样我就可以避免重复插入(在应用程序端而不是数据库端进行重复检查,varchar(5000)的唯一索引是不可能的)。所以我需要锁定表,但我不能用准备好的语句来做到这一点。存储过程会出现同样的错误吗?关于这个问题的任何其他想法?

最佳答案

使用事务,创建一个哈希列,并在该列上放置一个唯一键。

正如 Geo C. 在他的评论中所说,使用 MD5 几乎肯定不会发生冲突,而使用 SHA256 的可能性更小。无论您生成多少个 URL,与在冲突几率高到足以考虑使用锁的复杂解决方法之前可以生成的散列数量相比,即使是数十亿个 URL 也算不了什么。

关于Mysql在使用prepared statements时无法锁定表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19965025/

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