2

表中有一个字段(nickname例如命名)具有唯一性约束,这意味着在表中插入相同的昵称是无法通过的。所以在插入昵称之前我应该​​知道该字段中是否存在昵称,有两种方法为了处理这个问题,我想知道哪个更好。

1. (Only one SQL)   
    Insert data directly, then catch the database error code(in MySQL is 1586) to judge whether duplicate keys exist. 
2. (One or two SQL, and select maybe scan full table)
    Query the table first then decide to insert or not.
4

1 回答 1

2

我想说,因为这个错误案例非常具体,所以只需捕获数据库异常并对其做出反应。如果表中有多个唯一字段,这可能会导致问题nickname

如果有多个可能引发相同的异常,您可能希望更具体,这可能意味着预先运行查询。

于 2013-09-25T02:15:48.677 回答