我正在使用 MySQL 数据库,在决定运行哪些查询之前需要检查是否已有一行。
我正在处理的表格是这样的:
player(playerid, nickname, data1, data2, data3)
其中“playerid”是一个自动递增的数字,“nickname”是唯一的。
我尝试了一些使用 COUNT、COALESCE、fetch->rows 等的查询,但一无所获。我已经看到了this question , 但无法解决任何问题。
最佳答案
能否请您发布带有 SELECT COUNT(*)
的特定查询,该查询不起作用,问题是什么?
查询应该以这个答案为模型:How do I know how many rows a Perl DBI query returns?
假设您的“行已经存在”定义是“具有给定昵称的玩家存在”,查询将是:
my $th = $dbh->prepare(qq{SELECT COUNT(1) FROM player WHERE nickname='$nickname'});
$th->execute();
if ($th->fetch()->[0]) {
....
} # Code stolen shamelessly from the link above
关于mysql - 如何使用 DBD::mysql 和 Perl 检查数据库行是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4178778/