📄 60metadata.t
字号:
use Test;BEGIN { plan tests => 27 }use DBI;my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "", { });ok($dbh);$dbh->{PrintError} = 0;$dbh->do("drop table meta$_") for 1..5;$dbh->{PrintError} = 1;ok $dbh->do("create table meta1 (f1 varchar(2) PRIMARY KEY, f2 char(1))");ok $dbh->do("create table meta2 (f1 varchar(2), f2 char(1), PRIMARY KEY (f1))");ok $dbh->do("create table meta3 (f2 char(1), f1 varchar(2) PRIMARY KEY)");$dbh->trace(0);$DBI::neat_maxlen = 4000;my $sth = $dbh->primary_key_info('', '', '%');ok $sth;my $pki = $sth->fetchall_hashref('TABLE_NAME');ok $pki;#use Data::Dumper; print Dumper($pki);ok keys %$pki == 3;ok $_->{COLUMN_NAME} eq 'f1' for values %$pki;ok $dbh->do("create table meta4 (f1 varchar(2), f2 char(1), PRIMARY KEY (f1,f2))");$sth = $dbh->primary_key_info('', '', 'meta4');ok $sth;$pki = $sth->fetchall_hashref('COLUMN_NAME');ok $pki;#use Data::Dumper; print Dumper($pki);ok keys %$pki == 2;ok $pki->{f1}->{KEY_SEQ} == 1;ok $pki->{f2}->{KEY_SEQ} == 2;my @pk = $dbh->primary_key('','','meta4');ok @pk == 2;ok "@pk" eq "f1 f2";ok $dbh->do("insert into meta4 values ('xyz', 'b')");$sth = $dbh->prepare("select * from meta4");ok $sth;ok $sth->execute();ok $sth->fetch();my $types = $sth->{TYPE};my $names = $sth->{NAME};# warn("Types: @$types, Names: @$names\n");ok( @$types == @$names );print "# Types: @$types\n";print "# Names: @$names\n";ok($types->[0] eq 'varchar(2)');ok($types->[1] eq 'char(1)');ok $dbh->do("create table meta5 ( f1 integer PRIMARY KEY )");@pk = $dbh->primary_key(undef, undef, 'meta5');ok($pk[0] eq 'f1');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -