in reply to Re: Handle MySQL BIT data type in Perl
in thread Handle MySQL BIT data type in Perl
SQL_BIT is defined, when I ran:
use DBI qw(:sql_types); use Data::Dumper; #use strict; use warnings; foreach (sort @{$DBI::EXPORT_TAGS{sql_types}}) { printf "%s=%d\n", $_, &{"DBI::$_"}; }
One of the output line says:
SQL_BIT=-7
So there was some hope... However the following code compiled okay, but still gave the same error (data too long):
use DBI qw(:sql_types); use Data::Dumper; use strict; use warnings; my $dsn = "DBI:mysql:database=test;host=foo"; my $dbh = DBI->connect($dsn, 'root', 'root', {RaiseError => 1}); my $insert = "insert into test(a) value(?)"; my $select = "select * from test"; my $insert_st = $dbh->prepare($insert); my $select_st = $dbh->prepare($select); $insert_st->bind_param(1, 3, SQL_BIT); $insert_st->execute() or die $dbh->errstr; $select_st->execute(); my $ref = $select_st->fetchall_arrayref(); print Dumper($ref);
This further proves to me that, just like Zaxo and I diiscussed in private, this is a bug, integer was not trimed to fit.
By the way, I tested Zaxo's chr(3) bit, and that worked.
Or we can put it in virtualsue's way, the DBD has not yet updated for MySQL 5. By the way, MySQL only started to support BIT data type in version 5.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Handle MySQL BIT data type in Perl
by mable (Initiate) on Aug 16, 2017 at 15:15 UTC | |
|
Re^3: Handle MySQL BIT data type in Perl
by virtualsue (Vicar) on Nov 01, 2005 at 10:15 UTC |