В MariaDB Server версий больше 10.1.6 включены по умолчанию режимы, требующие четкого соблюдения типов вставляемых данных.
https://mariadb.com/kb/en/sql-mode/
Например, если вставляемые текстовые данные по объему больше, чем определено в типе поля, то будет возникать ошибка:
Fatal error: Uncaught mysqli_sql_exception: Data too long for column
Посмотреть, какие режимы установлены в текущей инсталляции можно так:
MariaDB [(none)]> SELECT @@SESSION.sql_mode
-> ;
+-------------------------------------------------------------------------------------------+
| @@SESSION.sql_mode |
+-------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------+
Режим STRICT_TRANS_TABLES - как раз отвечает за контроль того, что длинна строки вставляемых данных должна быть меньше определенной
в структуре таблицы значения. Можно отключить этот режим и тогда вставка данных будет происходить как в старых версиях - входная строка будет обрезаться до максимально возможного, определенного в структуре таблице.
Установку редима можно производить каждый раз при подключении к таблице, точно так же как мы устанавливаем режим кодировки:
$query="SET NAMES utf8";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
$query="SET sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
понедельник, 21 ноября 2022 г.
Ошибка вставки данных в MariaDB Server 10.9.3 mysqli_sql_exception Data too long for column
воскресенье, 6 ноября 2022 г.
Установка и использование graphviz в RockyLinux 9
Установка graphviz
# yum install 'graphviz*'
Установка репозитария PHP
# cd /usr/src
# wget http://pear.php.net/go-pear.phar
# php go-pear.phar
Установка пакета php GraphViz
(https://pear.php.net/package/Image_GraphViz)
# /usr/bin/pear_old install Image_GraphViz
Теперь в коде PHP можно использовать:
require_once 'Image/GraphViz.php';
$gv = new Image_GraphViz();
И использовать свойства $gv для построения графиков
Подписаться на:
Сообщения (Atom)