Wiki Bitrix

Почему в D7 не следует использовать названия столбцов в нижнем регистре

Если вы увидели сообщение об ошибке:

Mysql query error: (1062) Duplicate entry 'direction' for key 'PRIMARY'

или

2020-01-13 13:52:11 - Host: ... - UNCAUGHT_EXCEPTION - [Bitrix\Main\DB\SqlQueryException]
Mysql query error: (1062) Duplicate entry '' for key 'address' (400)
INSERT INTO table_name() VALUES ()

то проверьте регистр названий столбцов в Bitrix ORM. Он должен быть обязательно верхний. И вот почему:

bitrix/modules/main/lib/db/mysqliresult.php
public function getFields()
...
$name = strtoupper($field->name);