MySQL:如何知道项目是否已存在于数据库中?

时间:2010-03-04 02:24:23

标签: mysql

说,我在数据库中有很多书名(超过500000),有一天我想在数据库中添加另一个标题,我该如何检查数据库是否已包含此标题?我怎么能在PHP中做到这一点?

5 个答案:

答案 0 :(得分:2)

SELECT 1 FROM table WHERE title = ''之类的东西浮现在脑海中,有一个关于标题的索引:)

来自PHP:

$query = mysql_query("SELECT 1 FROM table WHERE title = '%s'", 
    mysql_real_escape_string($title));
$result = mysql_query($query);
if(mysql_num_rows($result)){
    echo 'The title exists in the database';
}

答案 1 :(得分:1)

答案 2 :(得分:1)

如果您确实希望标题是唯一的,最好将其表达为标题列的唯一约束。

答案 3 :(得分:0)

或者您可以执行实际的insert语句并等待结果。如果您要插入的行已经在数据库中,假设您在表中定义了某种主键,它将发布错误...重复条目不允许等等......您可以“捕获”它。 ..只是一个想法!

答案 4 :(得分:0)

insert ignore into

如果不存在则插入,否则不插入。 [假设标题有唯一约束]