2
Использование Perl DBI, как проверить, если (с учетом имени таблицы и имени столбца) столбец MySQL UNIQUE (имеет ограничение UNIQUE)?Perl DBI MySQL: проверьте, не является ли столбец UNIQUE
Использование Perl DBI, как проверить, если (с учетом имени таблицы и имени столбца) столбец MySQL UNIQUE (имеет ограничение UNIQUE)?Perl DBI MySQL: проверьте, не является ли столбец UNIQUE
Эта функция должна возвращать значение true для столбцов с ограничением UNIQUE или 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