我正在尝试运行更新,根据多个变量为 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/