php mySQL 检查唯一列是否需要唯一值?
php mySQL check for unique value needed on Unique col?
是否有必要在将其插入数据库之前检查唯一值?如果 unique_col
预定义为 Unique Keys
。
例如
SELECT unique_col FROM table WHERE unique_col != unique_val
INSERT INTO table (unique_col) VALUE(:unique_value)
有必要检查吗?这取决于您如何处理错误。
一般来说,数据库会无论如何进行检查,因此您的额外检查是多余的。如果您进行检查,另一个线程可能会在您的检查和 insert
之间插入相同的值,因此您仍然会遇到错误(这称为竞争条件)。
所以,不要进行检查,而是检查错误。
是否有必要在将其插入数据库之前检查唯一值?如果 unique_col
预定义为 Unique Keys
。
例如
SELECT unique_col FROM table WHERE unique_col != unique_val
INSERT INTO table (unique_col) VALUE(:unique_value)
有必要检查吗?这取决于您如何处理错误。
一般来说,数据库会无论如何进行检查,因此您的额外检查是多余的。如果您进行检查,另一个线程可能会在您的检查和 insert
之间插入相同的值,因此您仍然会遇到错误(这称为竞争条件)。
所以,不要进行检查,而是检查错误。