【问题标题】:Updating MySQL database character set using Laravel使用 Laravel 更新 MySQL 数据库字符集
【发布时间】:2017-01-21 15:26:12
【问题描述】:

有没有办法使用 Laravel 更新 MySQL 数据库字符集,也许是 DB 门面?我知道我可以在 MySQL Workbench 之类的东西中运行该语句,但我想创建一个作业,在数据库更新后对表运行多个更新。

我想跑:

DB::statement("ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci");

但我收到一个错误:

SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll().

有没有办法可以完成我正在尝试做的事情,或者我应该将语句与工作分开运行?

【问题讨论】:

    标签: php mysql database laravel laravel-5.1


    【解决方案1】:

    这应该可以解决问题:

    DB::connection()->getPdo()->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

    我通常在运行我的语句后重置它:

    DB::connection()->getPdo()->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

    【讨论】:

    • 这确实可以解决问题,尽管欢迎解释为什么这样做:)
    猜你喜欢
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多