2016-03-21 10 views
0

Я попытался восстановить внешний MySQL DB в моем окне MySQL.MySQL неверное значение по умолчанию для [something]

mysql -u root -p test < C:\Users\myname\Downloads\db.sql 

но есть ошибки, подобные этому.

ERROR 1067 (42000) at line 200: Invalid default value for 'VERSION_DATE' 

Некоторые люди говорили, что это было вызвано кодировкой символов, поэтому я попробовал это снова.

mysql -u root -p test < C:\Users\myname\Downloads\db.sql --default-character-set=utf8 

но такой же погрешность.

Что не так с этим восстановлением MySQL.

вот линия 200 начинается.

CREATE TABLE `APP_EVENT_HISTORY` (
    `OWNER_ID` varchar(128) NOT NULL, 
    `APP_ID` varchar(64) NOT NULL, 
    `EVENT_ID` varchar(64) NOT NULL, 
    `VERSION_ID` varchar(64) NOT NULL, 
    `VERSION_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `SCRIPT` text, 
    `DESCRIPTION` varchar(1024) DEFAULT NULL, 
    `CREATE_USER_ID` varchar(128) NOT NULL, 
    `CREATED_DATE` datetime NOT NULL, 
    `UPDATE_USER_ID` varchar(128) DEFAULT NULL, 
    `UPDATED_DATE` datetime DEFAULT NULL, 
    PRIMARY KEY (`OWNER_ID`,`APP_ID`,`EVENT_ID`,`VERSION_ID`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
+0

в качестве первого шага определите определение таблицы в этой строке в файле SQL. будет очень полезно вставить этот фрагмент кода здесь. – mitkosoft

+0

, если вы не можете получить доступ к файлу SQL, как вы можете исправить ошибку? – mitkosoft

+1

VERSION_DATE - формат 'datetime' не может получить доступ к значению по умолчанию' CURRENT_TIMESTAMP', поэтому либо измените его на тип timestamp, либо сделайте его 'DEFAULT NULL' или' NOT NULL', в зависимости от ваших потребностей. – mitkosoft

ответ

1

Я нашел эту ссылку, которая может оказаться полезной: Mysql datetime DEFAULT CURRENT_TIMESTAMP error

Да, это может быть из-за разницы в версиях MySQL (если вы сделали резервную копию на одной версии и восстановление на другой).

+0

. Привет, было бы очень полезно, если бы вы могли скопировать соответствующую информацию из ссылки в случае ее устаревания , сделает ваш ответ еще лучше :) – Starscream1984