2015-10-28 2 views
2

Итак, у меня был набор таблиц, работающих на более старой версии MySQL, однако в этой новой версии экспортированные таблицы дают синтаксическую ошибку.Неправильный синтаксис, созданный mysql при экспорте этой таблицы?

CREATE TABLE `joblistings` (
`jobid` int(11) NOT NULL AUTO_INCREMENT COLLATE utf8_unicode_ci NOT NULL, 
`id` varchar(255) NOT NULL, 
`client` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`service` tinyint(1) COLLATE utf8_unicode_ci NOT NULL, 
`firstline` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`city/town/village` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`county` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
`postcode` varchar(9) COLLATE utf8_unicode_ci NOT NULL, 
`daterequired` date(YYY-MM-DD) NOT NULL, 
`timefrom` time(HH:MM), 
`timeto` time(HH:MM), 
    PRIMARY KEY (`jobid`), 
    UNIQUE KEY `id` (`jobid`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=10 ; 

ERROR 1064 (42000): У вас ошибка в вашем SQL синтаксиса; проверьте руководство пользователя , соответствующее версии вашего сервера MySQL, для правильного синтаксиса , используемого рядом с '(YYY-MM-DD) NOT NULL, `timefrom` time (HH: MM), ` timeto` time (HH: MM), ОСНОВНОЙ 'в строке 10

Эти 3, как представляется, проблема, от того, что я понимаю, но я не разбирался достаточно хорошо в версиях и изменения, чтобы увидеть способ фиксации этого.

`daterequired` date(YYY-MM-DD) NOT NULL, 
`timefrom` time(HH:MM), 
`timeto` time(HH:MM), 

Любая помощь будет очень признательна, поскольку этот формат важен для моей системы.

+0

«дата и время» будут иметь формат по умолчанию в db и, следовательно, вам не нужно явно указывать формат daterequired date() NOT NULL, timefrom time(), .... ' –

+1

Я отредактировал вопрос о добавлении сообщения об ошибке, то, что вы должны были сделать сами. –

+0

@ ÁlvaroG.Vicario спасибо, извините, я не думал добавлять это. – iceytoa1

ответ

1

Вы не можете изменить формат даты и времени. Он будет сохранен в формате по умолчанию ('YYYY-MM-DD HH:MM:SS'). Вы можете обратиться к documentation за дополнительной информацией.

SQL Fiddle Demo после установки его по умолчанию.

Если вы хотите получить выходные данные в другом формате, вам необходимо использовать функцию DATE_FORMAT(), чтобы получить ее в требуемом формате.

+0

Большое спасибо за помощь. Версия, с которой я работал, прежде чем использовать формат временной отметки UNIX, поэтому я должен был указать ее. – iceytoa1

Смежные вопросы