Yii2 querybuilder使用原始sql对表名进行正确的语法

时间:2017-01-04 01:46:59

标签: yii2 yii2-advanced-app

任何人都可以告诉我在这个陈述中我做错了什么

FRAMEWORK_SEARCH_PATHS

我收到此错误

  

异常' yii \ db \ Exception' with message' SQLSTATE [42000]:语法   错误或访问冲突:1064您的SQL语法有错误;   查看与您的MariaDB服务器版本对应的手册   正确的语法在' $connection = Yii::$app->db; $result=$connection->createCommand("SHOW TABLE STATUS LIKE {{%promo_deliveries}}")->execute(); '附近使用在第1行   正在执行的SQL是:`SHOW TABLE STATUS LIKE sms_promo_deliveries'

     

在   F:\ XAMPP \ htdocs中\ NXB \ sms_protected \厂商\ yiisoft \ yii2 \分贝\ Schema.php:631

     

错误信息:数组(       [0] => 42000       [1] => 1064       [2] =>您的SQL语法有错误;查看与MariaDB服务器版本对应的手册,以获取正确的语法   靠近' sms_promo_deliveries'在第1行)

1 个答案:

答案 0 :(得分:1)

这与使用查询构建器时的表命名约定无关,实际上它是指定的语法错误,必须在表名周围添加引号,因为我使用LIKE关键字来匹配表名。

$result=$connection->createCommand("SHOW TABLE STATUS LIKE 
                                   '{{%promo_deliveries}}'")->execute();