mysql - 更新mysql并设置信息 block

标签 mysql perl

我正在尝试运行更新,根据多个变量为 varchar 分配一个巨大的数据 block 。这是我的 sql 代码示例:

   'update details set full = "Miles reported by $name - $empname - $deptname\n\n"
 "Total Miles in $month: $dailytotal\n"
 "Total Business Miles in $month: $busitotal\n"
 "Total Personal Miles in $month: $perstotal\n\n"
  "$month 1: START: $start1...STOP: $stop1...DAILY: $daily1...BUSINESS: $busi1...PERSONAL: $personal1\n"
  "$month 2: START: $start2...STOP: $stop2...DAILY: $daily2...BUSINESS: $busi2...PERSONAL: $personal2\n"
  ')
    or die "Could not prepare sql statement";

一切正常,但问题是它将变量存储为“$name”,而不是 $name 与所有其他变量的相等值。我该如何解决这个问题,并对我的格式感到抱歉。提前致谢!

最佳答案

正确答案已经给出,我只是想补充一点,您可以使用 qq() 函数轻松插值变量。它也很容易用于较长的字符串,因为您可以更改分隔符。这就是您的做法:

qq(update details set full = "Miles reported by $name - $empname - $deptname\n\n"
"Total Miles in $month: $dailytotal\n"
"Total Business Miles in $month: $busitotal\n"
"Total Personal Miles in $month: $perstotal\n\n"
"$month 1: START: $start1...STOP: $stop1...DAILY: $daily1...BUSINESS: $busi1...PERSONAL: $personal1\n"
"$month 2: START: $start2...STOP: $stop2...DAILY: $daily2...BUSINESS: $busi2...PERSONAL: $personal2\n");

当我说更改分隔符时,如果您有这样的字符串,它会派上用场:

foo(bar)

然后你可以使用,例如,qq// 来避免必须转义括号:

qq/foo(bar)/

关于mysql - 更新mysql并设置信息 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13690446/

相关文章:

mysql - SQL Server 查询到 MySQL 查询的转换

php - Yii Controller 方法SQL查询

Perl:比较两个散列,从一个中删除键

perl - 为什么我的 Perl 脚本不断读取同一个文件,即使我关闭了它?

perl - SQLite十进制标记

mysql - 查询日期 : is "dateval LIKE ' 2014-01-01 %'" a best practice?

java - JPQL 日期间隔

perl - 文件句柄和 XML::Simple -> 内存损坏。无法隔离问题

perl - Catalyst MVC 使用单个表单保存多个对象

mysql - 如果Mysql中不存在具有唯一id的记录,则返回0值记录