【问题标题】:How to reset column value to DEFAULT when updating it with DBIx::Class?使用 DBIx::Class 更新列值时如何将列值重置为 DEFAULT?
【发布时间】:2017-10-05 23:47:28
【问题描述】:

在 postgresql 中更新列时,我们可以将其值重置为 DEFAULT

UPDATE table SET column = DEFAULT

DBIx::Class 中是否有类似物?就像这样:

$schame->result_set( 'table' )->update({ column => DEFAULT })

【问题讨论】:

    标签: perl dbix-class


    【解决方案1】:

    感谢ilmari。我需要 ref 来使用文字 SQL:

    $schame->result_set( 'table' )->update({ column => \'DEFAULT' })
    

    【讨论】:

    • 请注意,这现在是特定于引擎的。您将无法将其移植为 SQLite。
    • @simbabque:有非引擎特定的方式吗?
    • 我不这么认为。如果维护者不知道,那么可能不知道。我不认为 sqlite 或 MySQL 甚至可以做到这一点。可能是甲骨文。
    • 如果您始终使用 DBIx::Class,您应该在 column_info 中使用该默认值。在这种情况下,您可以更新到那个。
    • @EugenKonkov:这就是我所指的。这是存储在模型中的非引擎特定信息。如果它不在模型中,则需要使用特定于引擎的方式将其取出。
    猜你喜欢
    • 1970-01-01
    • 2012-08-10
    • 2011-07-09
    • 2011-01-07
    • 1970-01-01
    • 2012-08-10
    • 2019-09-01
    • 2012-07-16
    • 2018-07-03
    相关资源
    最近更新 更多