我如何保证我可以搜索我的数据库中是否存在用户名,然后将该用户名作为新行插入数据库而不在SELECT和INSERT语句之间进行任何拦截?
SELECT
INSERT
几乎就像我锁定了一个不存在的行.我想用用户名"Foo"锁定不存在的行,这样我现在可以检查它是否存在于数据库中并将其插入到数据库中(如果它尚不存在而没有任何中断).
我知道使用LOCK IN SHARE MODE和FOR UPDATE存在,但据我所知,这只适用于已经存在的行.我不知道在这种情况下该怎么做.
LOCK IN SHARE MODE
FOR UPDATE
mysql innodb locking rowlocking database-locking
database-locking ×1
innodb ×1
locking ×1
mysql ×1
rowlocking ×1