首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DBD::mysql: ChopBlanks

DBD::mysql: ChopBlanks
EN

Stack Overflow用户
提问于 2022-06-30 14:42:22
回答 1查看 44关注 0票数 1

为什么在没有启用ChopBlanks的情况下,从列值中剪掉尾随空格?

代码语言:javascript
复制
use DBI;

my $value = '     string     ';
my $db = 'my_mysql_db';
my $dbh = DBI->connect( "dbi:mysql:db=$db", 'user', '*', {  RaiseError => 1, ChopBlanks => 0 } ) or die DBI->errstr;
my $table = 'test_mysql';
$dbh->do( "CREATE TABLE IF NOT EXISTS $table (col_1 CHAR(64))" );
my $sth = $dbh->prepare( "DELETE FROM $table WHERE col_1 = ?" );
$sth->execute( $value );
$sth = $dbh->prepare( "INSERT INTO $table (col_1) VALUES( ? )" );
$sth->execute( $value );
$sth = $dbh->prepare( "SELECT * FROM $table" );
$sth->execute();
$sth->dump_results; 
代码语言:javascript
复制
'     string'
1 rows
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-30 17:04:50

我相信这是一个MySQL问题,而不是DBI问题。来自11.3.2 CHAR和VARCHAR类型

CHAR值被存储时,它们将以指定长度的空格填充.检索CHAR值时,除非启用PAD_CHAR_TO_FULL_LENGTH SQL模式,否则将移除尾随空格。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72817756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档