【问题标题】:Perl DBIx::Class Truncate tablePerl DBIx::Class 截断表
【发布时间】:2018-01-09 05:56:25
【问题描述】:

我正在寻找一种使用DBIx::Class 截断表格的方法,但除了一些建议(例如删除所有行而不是截断表格)之外,我无法在网络上找到任何内容。 不幸的是,TRUNCATE 速度要快得多,我希望能正确地做到这一点。目前,我想我会使用DBI 进行截断,但这有点缺点。

这有可能吗?

提前致谢:-)

【问题讨论】:

  • 没有TRUNCATE。您必须删除所有行。
  • 你确定?多么可悲:-(

标签: mysql perl dbix-class


【解决方案1】:

您可以使用一个小的辅助函数直接在 DBIx::Class 模型中执行SQL

sub _sql_do {
  my ( $self , $sql ) = @_ ;

  return $self->storage->dbh_do(
    sub {
      my ( $storage , $dbh , $sql ) = @_ ;
      my $sth = $dbh->prepare( $sql ) ;
      $sth->execute() ;
    },
    $sql
  );
}

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 2011-01-07
    • 2011-07-09
    • 1970-01-01
    • 2013-01-21
    相关资源
    最近更新 更多