Название: Field 'name' doesn't have a default value Отправлено: SeMant от 12 Июля 2015, 10:41:25 Умер сервер вместе с базой Настроили новый, восстановились с бэкапа. Абоненты работают всё нормально, а вот новых создать не могу. Выдаёт такое вот:
Код: 304 Db.pm::sql Field 'name' doesn't have a default value Название: Re: Field 'name' doesn't have a default value Отправлено: Efendy от 12 Июля 2015, 10:58:49 где именно выдает?
Название: Re: Field 'name' doesn't have a default value Отправлено: SeMant от 12 Июля 2015, 11:15:01 где именно выдает? После того, как Я выбираю группу и нажимаю Создать. Выводиться Произошла временная ошибка. Попробуйте повторить запрос. Название: Re: Field 'name' doesn't have a default value Отправлено: Redmen от 12 Июля 2015, 11:33:38 ето нюанс нового мускуля
Название: Re: Field 'name' doesn't have a default value Отправлено: Redmen от 12 Июля 2015, 11:34:16 http://nodeny.16mb.com/doku.php/nodeny/install/fastinstall#настройка_mysql (http://nodeny.16mb.com/doku.php/nodeny/install/fastinstall#настройка_mysql)
Название: Re: Field 'name' doesn't have a default value Отправлено: SeMant от 12 Июля 2015, 12:01:49 ето нюанс нового мускуля На всякий случай уточню. Т.е. это нормально и достаточно просто в my.cnf в секции mysqld добавить строку sql_mode=NO_ENGINE_SUBSTITUTION и всё заработает как положено.Название: Re: Field 'name' doesn't have a default value Отправлено: Redmen от 12 Июля 2015, 12:33:21 не добавить, а привести к виду!
у мускуля есть несколько файлов my.cnf в одном из них ета строка есть проверь /usr/local/my.cnf Название: Re: Field 'name' doesn't have a default value Отправлено: Redmen от 12 Июля 2015, 12:34:02 ну и естественно перезагрузи мускуль
Название: Re: Field 'name' doesn't have a default value Отправлено: Redmen от 12 Июля 2015, 12:36:45 почитай для общего http://habrahabr.ru/post/116922/ (http://habrahabr.ru/post/116922/)
Название: Re: Field 'name' doesn't have a default value Отправлено: Redmen от 12 Июля 2015, 12:37:46 и тут http://avz.org.ua/wp/2014/04/29/mysql-troubles-after-upgrade-to-5-6/ (http://avz.org.ua/wp/2014/04/29/mysql-troubles-after-upgrade-to-5-6/)
Название: Re: Field 'name' doesn't have a default value Отправлено: SeMant от 12 Июля 2015, 13:31:49 не добавить, а привести к виду! Спасибоу мускуля есть несколько файлов my.cnf в одном из них ета строка есть проверь /usr/local/my.cnf Название: Re: Field 'name' doesn't have a default value Отправлено: Redmen от 12 Июля 2015, 13:33:44 Помогло?
На здоровье! Название: Re: Field 'name' doesn't have a default value Отправлено: Efendy от 13 Июля 2015, 15:35:38 В ревизию 332 добавил поддержку "строгого" режима mysql. Только необходимо выполнить в mysql:
Код: ALTER TABLE users CHANGE `name` `name` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT ''; также нужно в админке зайти в настройки дополнительных полей, пройтись по каждому полю и просто нажать кнопку "сохранить" ничего не меняя P.S. На всякий склучай сделайте бекап БД, хотя все должно пройти гладко, мало ли Название: Re: Field 'name' doesn't have a default value Отправлено: SeMant от 26 Августа 2015, 17:49:35 В ревизию 332 добавил поддержку "строгого" режима mysql. Только необходимо выполнить в mysql: У меня сейчас 331-ая. Мне нужно будет при обновлении выполнять команды в mysql, если Я sql_mode привёл к виду NO_ENGINE_SUBSTITUTION? Или надо выполнить и всё вернуть назад?Код: ALTER TABLE users CHANGE `name` `name` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT ''; также нужно в админке зайти в настройки дополнительных полей, пройтись по каждому полю и просто нажать кнопку "сохранить" ничего не меняя P.S. На всякий склучай сделайте бекап БД, хотя все должно пройти гладко, мало ли Название: Re: Field 'name' doesn't have a default value Отправлено: Efendy от 27 Августа 2015, 15:35:28 Эти команды только устанавливают значения по умолчанию для некоторый полей. Их можно выполнить на любой версии биллинга - ни к чему плохому не приведут
Название: Re: Field 'name' doesn't have a default value Отправлено: sergey104 от 25 Января 2017, 15:48:26 после пересохранения доп полей, на двух из них вылезла ошибка SQL Error. В дебаге:
Specified key was too long; max key length is 767 bytes { 'param' => [], 'sql' => 'ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT \'\'' }; ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT '' Название: Re: Field 'name' doesn't have a default value Отправлено: sever от 26 Января 2017, 15:48:53 после пересохранения доп полей, на двух из них вылезла ошибка SQL Error. В дебаге: Specified key was too long; max key length is 767 bytes { 'param' => [], 'sql' => 'ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT \'\'' }; ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT '' Для начала show create table data0; Название: Re: Field 'name' doesn't have a default value Отправлено: sergey104 от 26 Января 2017, 19:14:54 +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table | +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | data0 | CREATE TABLE `data0` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `uid` int(10) unsigned NOT NULL, `_adr_street` varchar(255) NOT NULL DEFAULT '', `_adr_house` varchar(255) NOT NULL DEFAULT '', `_adr_room` varchar(255) NOT NULL DEFAULT '', `_adr_telefon` varchar(255) NOT NULL DEFAULT '', `_adr_telefon2` varchar(255) NOT NULL DEFAULT '', `_name_Switch` varchar(255) NOT NULL DEFAULT '', `_name_aggregation` varchar(255) NOT NULL DEFAULT '', `_port_Switch` varchar(255) NOT NULL DEFAULT '', `_komentariy` varchar(255) NOT NULL, `_name_odf` varchar(255) NOT NULL DEFAULT '', `_number_odf` varchar(255) NOT NULL DEFAULT '', `_komentariy2` varchar(255) NOT NULL DEFAULT '', `_modul` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `uid` (`uid`), KEY `_adr_street` (`_adr_street`), KEY `_adr_house` (`_adr_house`), KEY `_adr_room` (`_adr_room`), KEY `_adr_telefon` (`_adr_telefon`), KEY `_adr_telefon2` (`_adr_telefon2`), KEY `_name_Switch` (`_name_Switch`), KEY `_name_aggregation` (`_name_aggregation`), KEY `_port_Switch` (`_port_Switch`), KEY `_komentariy` (`_komentariy`), KEY `_name_odf` (`_name_odf`), KEY `_number_odf` (`_number_odf`), KEY `_komentariy2` (`_komentariy2`), KEY `_modul` (`_modul`) ) ENGINE=InnoDB AUTO_INCREMENT=1814 DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) Название: Re: Field 'name' doesn't have a default value Отправлено: Efendy от 26 Января 2017, 20:48:45 Как буду дома (через неделю) пофикшу - вероятно, это связано с изменениями в mysql
Название: Re: Field 'name' doesn't have a default value Отправлено: Efendy от 02 Февраля 2017, 18:11:30 Нет. Не получится. В my.cnf добавь:
innodb_large_prefix=on Название: Re: Field 'name' doesn't have a default value Отправлено: k291 от 07 Февраля 2017, 13:11:33 При обновлении или переносе БД на более новую версию MySQL, может не получатся создавать новые учетные записи. Сразу после выбора группы и нажатия на кнопку "Сохранить", выдает сообщение "Произошла временная ошибка. Попробуйте повторить запрос.", а в debug`e ошибка "Field 'name' doesn't have a default value".
Как решить проблему в Ubuntu(во FreeBSD путь "/etc/my.cnf" может отличатся): 1) Код: nano /etc/my.cnf Цитировать innodb_large_prefix=on sql_mode=NO_ENGINE_SUBSTITUTION Перезагружаем MySql: Код: /etc/init.d/mysql restart 2) Заходим в MySql: Код: mysql -u root --password='hardpass' Проверим, принял ли MySQL правки в п.1(ищем "NO_ENGINE_SUBSTITUTION"): Код: SHOW global variables LIKE 'sql_mode'; Заходим в БД: Код: use nodeny; Выполняем(у меня проблема решилась после выполнения первых 3-х строк): Код: ALTER TABLE users CHANGE `name` `name` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT ''; 3)В билинге в настройках, пройти по всем Доп.полям и просто нажать "Сохранить" Название: Re: Field 'name' doesn't have a default value Отправлено: sergey104 от 15 Февраля 2017, 17:09:33 вышеперечисленное не помогло. На форуме mysql в теме forums.mysql.com/read.php?22,613571,613571#msg-613571 есть по этому поводу следующее:
dev.mysql.com/doc/refman/5.6/en/innodb-row-format-specification.html Возможно нужно изменить ROW_FORMAT на dynamic? Название: Re: Field 'name' doesn't have a default value Отправлено: sever от 01 Марта 2017, 16:44:20 после пересохранения доп полей, на двух из них вылезла ошибка SQL Error. В дебаге: Specified key was too long; max key length is 767 bytes { 'param' => [], 'sql' => 'ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT \'\'' }; ALTER TABLE `data0` CHANGE `_komentariy2` `_komentariy2` VARCHAR(1024) NOT NULL DEFAULT '' Как вариант Создай новое поле _komentariy2_new и импортни туда данные из _komentraiy2 Потом прибьёшь ненужное |