Доброй ночи питаюсь залить таблицу бд но получаю ошибку в чем может бить проблема на другом дц в бд заливается нормальна эта таблица. Ошибка. Код: [Err] 1067 - Invalid default value for 'date_created' [Err] CREATE TABLE `nextpay_l2_order` ( `order_id` int(11) NOT NULL default '0', `date_created` datetime NOT NULL default '0000-00-00 00:00:00', `product_id` int(11) NOT NULL default '0', `volute` int(11) NOT NULL default '0', `product_count` int(11) NOT NULL default '0', `server` int(11) NOT NULL default '0', `char_name` varchar(255) NOT NULL default '', `profit` float NOT NULL default '0', `comment` varchar(255) default NULL, `status` int(11) NOT NULL default '0', PRIMARY KEY (`order_id`) ) ENGINE=MyISAM; [Msg] Finished - Unsuccessfully -------------------------------------------------- Сам SQl Код: drop table if exists `nextpay_l2_order`; CREATE TABLE `nextpay_l2_order` ( `order_id` int(11) NOT NULL default '0', `date_created` datetime NOT NULL default '0000-00-00 00:00:00', `product_id` int(11) NOT NULL default '0', `volute` int(11) NOT NULL default '0', `product_count` int(11) NOT NULL default '0', `server` int(11) NOT NULL default '0', `char_name` varchar(255) NOT NULL default '', `profit` float NOT NULL default '0', `comment` varchar(255) default NULL, `status` int(11) NOT NULL default '0', PRIMARY KEY (`order_id`) ) ENGINE=MyISAM;
Напишите свою версию mysql Или пиши нам в скайп, заодно и с другими вопросами подключения некстпей поможем.
SET GLOBAL sql_mode = ''; команду запустите далее делайте свой запрос. Команду делать только от рута с полными правами. Дело в том что начиная с какой то версии 5.7..... SQL modes – это настройка поведения работы сервера MySQL, состоящая из режимов, каждый из которых контролирует какой-либо один аспект обработки запроса. Возможности SQL mode: 1. Устанавливает строгую или мягкую проверку входных данных 2. Включает или отключает следование SQL стандарту 3. Обеспечивает лучшую синтаксическую совместимость с другими БД У вас стоит строгий режим. Данный запрос поможет сделать совместимость.
А я и не умничаю, тебе сам двиг СУБД сказал о том что у тебя в запросе не верные значения для дефолта, можно было просто изменив дефолт значение в запросе на валидное. p.s. а зачем вообще юзать MySQL когда есть MariaDB / Percona ?
В этом случае могут неверно отработать скрипты некстпея, и нужна еще и коррекция скриптов. Поэтому это самый простой способ, что я дал. Взяли бы да сразу дали бы свое решение, пол минуты вашего времени, вместо того чтоб советовать явно более время затратные варианты. PS: причем это в более новых версиях мускула, могут многие запросы отваливаться, в веб обвязках, и прочих скриптах со стороны сайтов, а тут одним легким движением, все придет в норму с подобными ошибками. Незачем придумывать велосипед.
ну никаких проблем бы не возникло вообще никак, т.к. по факту это дата совершения платежа как я понимаю, которая не может быть пустой, но загвоздка в том что Mysql поддерживает данные в диапазоне от 1000-01-01 00:00:00 до 9999-12-31 2359 для данных типа datetime, а не пишу решение человеку сразу чтобы он хоть сам попытался разобраться в проблеме, а не сразу искал помощи или решения от кого либо.