2
使用Perl DBI,如何检查MySQL列是否为UNIQUE(即具有UNIQUE约束)(假设表名和列名)?Perl DBI MySQL:检查列是否为UNIQUE
使用Perl DBI,如何检查MySQL列是否为UNIQUE(即具有UNIQUE约束)(假设表名和列名)?Perl DBI MySQL:检查列是否为UNIQUE
此函数应该对具有UNIQUE约束的列返回true,否则返回false。
输入值是DBI(mysql)对象,表名和列名。
sub check_uniq {
my ($dbh, $table, $column) = @_;
$table =~ s/\`//;
$table = '`' . $table . '`';
my $sth = $dbh->prepare('SHOW INDEX FROM ' . $table);
$sth->execute();
while (my $row = $sth->fetchrow_hashref) {
if (($row->{Column_name} eq $column) && (!$row->{Non_unique})) {
return 1;
}
}
return 0;
}
通过详细说明您已经尝试过的内容,获得更多更好的答案。 –
@MartinCowie如何解释他尝试得到更好的答案?当他们说“我的代码不工作,帮助我调试它”而不包含任何代码时,问问他们他们尝试了什么是很有意义的,但这里没有任何意义。这个问题很明显,在一个解决方案中尝试一堆失败的尝试会让它杂乱无章。 – ThisSuitIsBlackNot
请你解释一下你想用这些信息做什么?它会帮助我们为你制定更准确的答案。这似乎是一个奇怪的事情,以此为基础的程序流程 – Borodin