mariadb, yii2, как правильно оформить INSERT ... ON DUPLICATE KEY UPDATE?
пробовал так:
\Yii::$app->db->createCommand()
->batchInsert(ProductsBarcodes::tableName(), ['product_code', 'barcode'], $barcodes_codes)
->execute();
ошибка:
Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '4064900053098' for key 'barcode'
погуглил, пересисал, пытаюсь сделать запрос с помощью queryBuilder'а так (взял
отсюда):
$db = \Yii::$app->db;
$sql = $db->queryBuilder->batchInsert(ProductsBarcodes::tableName(), ['product_code', 'barcode'], $barcodes_codes);
$db->createCommand($sql . ' ON DUPLICATE KEY UPDATE')->execute();
выбрасывает ошибку:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
The SQL being executed was: INSERT INTO `product_barcode` (`product_code`, `barcode`) VALUES ('123123', '123123123'), ('1005770', '873293005560'), ('1006274', '8001090190543'), ('1006275', '4015400681243'), ('1006276', '4015400681212'), ('1006277', '4606086374538') ON DUPLICATE KEY UPDATE