Мы провели некоторое тестирование с ColdFusion и MySQL и немного озадачены. Мы знаем, что в файле /etc/my.cnf вы можете установить различные флаги 'sql-mode', которые приведут к тому, что MySQL будет вести себя определенным образом, в зависимости от определенных режимов. Мы знаем, что вы также можете установить эти флаги при запуске MySQL с помощью флагов --sql-mode =.
В /etc/my.cnf мы видим, что не было определено ни одного режима (один был закомментирован), поэтому мы добавили 'sql-node = "" и перезапустили mysql (/etc/init.d/mysqld restart) , Всякий раз, когда мы идем в командную строку MySQL, чтобы увидеть, какой режим установлен, вот вывод:
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)
mysql> SELECT @@SESSION.sql_mode;
+--------------------+
| @@SESSION.sql_mode |
+--------------------+
| |
+--------------------+
1 row in set (0.00 sec)
Это говорит мне, что нет режима, к которому мы стремимся. Однако, делая то же самое в ColdFusion 8, мы видим следующее:
SELECT @@GLOBAL.sql_mode;
[empty string]
SELECT @@SESSION.sql_mode;
STRICT_TRANS_TABLES
Это показывает, что глобальный sql-режим пуст, а Session-sql-mode установлен на STRICT_TRANS_TABLES
, что нам не нужно.
Теперь я могу установить Sql-режим Session пустым в ColdFusion, прежде чем мы сделаем что-нибудь еще, что дает мне желаемый эффект, но я не хочу переходить к каждому запросу и добавлять его.
Я (пытался) заглянуть в скрипт /etc/init.d/mysqld, чтобы посмотреть, смогу ли я найти, где он будет устанавливать режим, но ничего не увидел.
У вас, ребята, есть ЛЮБЫЕ предложения или мысли о том, что происходит? Как будто ColdFusion его где-то настраивает, однако в Администраторе ColdFusion нет ничего такого, что могло бы установить это.