From 94b2d170314f79f15fdd6d4dd41413caace7f02f Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Thu, 30 May 2013 07:35:03 -0400 Subject: [PATCH] Fixes issue #460 --- framework/yii/db/mysql/QueryBuilder.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/framework/yii/db/mysql/QueryBuilder.php b/framework/yii/db/mysql/QueryBuilder.php index 7bf293bb64..70c6d6433b 100644 --- a/framework/yii/db/mysql/QueryBuilder.php +++ b/framework/yii/db/mysql/QueryBuilder.php @@ -150,17 +150,20 @@ class QueryBuilder extends \yii\db\QueryBuilder */ public function batchInsert($table, $columns, $rows) { + foreach ($columns as $i => $name) { + $columns[$i] = $this->db->quoteColumnName($name); + } + $values = array(); foreach ($rows as $row) { $vs = array(); foreach ($row as $value) { $vs[] = is_string($value) ? $this->db->quoteValue($value) : $value; } - $values[] = $vs; + $values[] = '(' . implode(', ', $vs) . ')'; } return 'INSERT INTO ' . $this->db->quoteTableName($table) - . ' (' . implode(', ', $columns) . ') VALUES (' - . implode(', ', $values) . ')'; + . ' (' . implode(', ', $columns) . ') VALUES ' . implode(', ', $values); } }