gpt4 book ai didi

mysql - 数据库列是否未签名?

转载 作者:行者123 更新时间:2023-11-28 23:42:37 25 4
gpt4 key购买 nike

使用 Perl DBI,如何检查数据库表的给定列是否未签名?

以下代码无法按预期工作(使用 MySQL 数据库):

my $sth = $dbh->column_info(undef, $schema, $Table, undef);
while (my $Column = $sth && $sth->fetchrow_hashref) {
my $ColumnName = $Column->{COLUMN_NAME};
my $data_type = $Column->{DATA_TYPE}; # SQL_DATA_TYPE does not work too
my $type_info = $dbh->type_info($data_type);
my $Unsigned = $type_info->{UNSIGNED_ATTRIBUTE};
my $UnsignedInfo = defined($Unsigned) ? ", unsigned=>$Unsigned" : "";
print $fh " '$ColumnName' => {type=>'$Column->{TYPE_NAME}', nullable=>$Column->{NULLABLE}$UnsignedInfo},\n";
}

最佳答案

如果该界面中没有任何原生内容,希望您可以使用 DBI 完成此操作:

create table myTable
( id int auto_increment primary key,
si int not null, -- signed
ui int unsigned not null -- unsigned
);

insert myTable (si,ui) values (1,1),(-7,8);

SELECT data_type,column_type
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema='so_gibberish' -- my database name
and table_name = 'myTable' AND COLUMN_NAME in ('si','ui');

+-----------+------------------+
| data_type | column_type |
+-----------+------------------+
| int | int(11) |
| int | int(10) unsigned |
+-----------+------------------+

关于mysql - 数据库列是否未签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34110513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com