【问题标题】:Updating Oracle Table with Laravel使用 Laravel 更新 Oracle 表
【发布时间】:2017-10-18 21:43:53
【问题描述】:

我正在尝试在 oracle 数据库上运行更新。大部分工作都是为了收集和构建查询而完成的,但其中一部分不会执行。

查询

$result = DB::connection('DB01')
        ->update("UPDATE personnel SET col1 = 01-01, col2 = ? WHERE id = ?", [$dt, $id]);

问题是,当我执行查询时,col2 会按预期更新,但 col1 没有。我尝试了不同的方法让它运行,但它不会。我认为这是因为“ - ”并认为它需要被转义,但一直没有工作。

如果有人有任何想法如何让它发挥作用。请告诉我。

谢谢。

【问题讨论】:

  • 如果你把它设置为一个字符串,这行得通吗? '01-01'
  • 它已经在一个字符串中。我什至尝试将它放入一个变量中,如:$flag = '01-01',然后调用如下查询: ->update("UPDATE person SET col1 = ?, col2 = ? WHERRE id = ?", [$flag, $dt, $id] 还是不行。

标签: php oracle laravel


【解决方案1】:

sql 会假设 01-01 是 Operation (mathematics) 并且不会抛出任何异常

01-01  ==>   1 - 1 result is  0

您需要在col1 的值中添加引号

$result = DB::connection('DB01')
        ->update("UPDATE personnel SET col1 = '01-01', col2 = ? WHERE id = ?", [$dt, $id]);

【讨论】:

  • 完美。我相信在我的初始设置中,我将它包裹在单引号中并在其中尝试了双引号,但这没有用。但是您的解决方案是完美的。我能够让桌子张贴。非常感谢@mortadda
猜你喜欢
  • 2018-09-28
  • 1970-01-01
  • 2016-05-18
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多