场景:配置了多个db连接,包含mysql和mssql等多个。
本人在配置使用mssql的的过程中发现表名和字段名自动转义成`分隔符。例如
SELECT `id`, `username` FROM `user`
该语句在mssql是无法执行的,因为mssql不支持`分隔符,这个时候你需要在yii2调用的时候指定对应的配置db,比如我的申请了SqlServer是db2,那么我的写法如下:
$query->createCommand( \Yii::$app->db2)->getRawSql();
得到的sql如下
SELECT [id], [username] FROM [user]