method
public
MysqliSqlHelper::prepareMergeSelect()
Сигнатура
public prepareMergeSelect(mixed $tableName, array<string|int, mixed> $primaryFields, array<string|int, mixed> $selectFields, mixed $select, mixed $updateFields) : string
Описание
Формирует DML-строки для SQL-команды INSERT INTO ON CONFLICT UPDATE для указанной таблицы.
Параметры
$tableName
mixed
Имя таблицы.
$primaryFields
array<string|int, mixed>
Array("column")[] Список столбцов первичного ключа.
$selectFields
array<string|int, mixed>
$select
mixed
$updateFields
mixed
Возвращаемое значение
string
Как применяется в MysqliSqlHelper
MysqliSqlHelper::prepareMergeSelect() — метод класса \Bitrix\Main\DB\MysqliSqlHelper модуля «Главный модуль».
Метод объекта: сначала нужен экземпляр MysqliSqlHelper.
use Bitrix\Main\DB\MysqliSqlHelper;
/** @var MysqliSqlHelper $object */
$tableName = null;
$primaryFields = [];
$selectFields = [];
$select = null;
$updateFields = null;
$result = $object->prepareMergeSelect($tableName, $primaryFields, $selectFields, $select, $updateFields);
// $result: stringДругие методы MysqliSqlHelper
addDaysToDateTime()Возвращает функцию для добавления временного интервала в днях к $from.addSecondsToDateTime()Возвращает функцию для добавления временного интервала в секундах к $from.castToChar()Возвращает выражение CAST для преобразования поля или выражения в строкуconvertDateField()convertDatetimeField()convertFromDb()Возвращает $value, преобразованный в тип согласно типу $field.convertFromDbDate()convertFromDbDateTime()convertFromDbFloat()convertFromDbInteger()convertFromDbString()convertFromDbText()
prepareMergeSelect() есть и у других классов модуля «Главный модуль»: MssqlSqlHelper, OracleSqlHelper, PgsqlSqlHelper, SqlHelper.
Исходный файл: source/main/lib/db/mysqlisqlhelper.php:571

