我有一个需要锁定以防止插入的表,但它还需要能够在阻止插入时进行更新。
function myfunction() {
$locked = mysql_result(mysql_query("SELECT locked FROM mylock"),0,0);
if ( $locked ) return false;
mysql_query("LOCK TABLES mylock WRITE");
mysql_query("UPDATE mylock SET locked=1");
mysql_query("UNLOCK TABLES");
/* I'm checking another table to see if a record doesn't exist already */
/* If it doesn't exist then I'm inserting that record */
mysql_query("LOCK TABLES mylock WRITE");
mysql_query("UPDATE mylock SET locked=0");
mysql_query("UNLOCK TABLES");
}
但这还不够,从另一个脚本再次调用该函数,同时插入从该函数的 2 次调用中发生,我不能这样做,因为它会导致重复记录。
这很紧急,请帮忙。我想在字段上使用 UNIQUE,但有 2 个字段(player1、player2),并且两者都不能包含重复的玩家 ID。
不良行为: 记录 A = ( Player1: 123 Player2: 456 ) 记录 B = ( Player1: 456 Player2: 123 )