Я пытаюсь изучить некоторые mysql, php, apache и yii для личного проекта, который, надеюсь, будет расширен до чего-то коммерческого.
Я разрабатываю схему на рабочем месте MySQL и перенаправляю ее на локальный сервер MySQL. Все хорошо до этого момента. Моя идея состоит в том, чтобы разрабатывать и обновлять базу данных прямо на сервере, а затем реконструировать или синхронизировать ее с Workbench, чтобы увидеть ее на диаграмме. Но когда я пытаюсь реконструировать базу данных, ни одна из таблиц не импортируется (и на самом деле они были созданы самим Workbench.
Я попытался устранить проблему и создал базу данных на сервере только с одной таблицей и только с одним столбцом в ней, который находится в типе данных VARCHAR. Эта база данных была реконструирована без сбоев. Но когда я пытаюсь добавить к нему столбец INT и DATETIME, он натыкается на стену:
Версия MySQL Workbench для Windows (6.0.8)
WARNING: Mapping failed for datatype `int(11)`
WARNING: Mapping failed for datatype `datetime`
Linux-версия MySQL Workbench (6.0.8)
ERROR: Line 5: SQL syntax error near 'int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`insertDate` datetime DEF'. Statement skipped.
(Сервер MySQL версии 14.14, дистрибутив 5.5.34 / на компьютере с Ubuntu 12.04 LTS)
Я должен добавить, что сама таблица отлично работает, когда я пытаюсь добавить, обновить и удалить строки.
Любые идеи о том, что я делаю неправильно?
Изменить. Основываясь на ответе Питера,
На самом деле я также пытался синхронизировать модель с базой данных, а не с reverse engineering
, это тоже не работает (я собирался опубликовать несколько изображений, но не смог из-за низкой репутации). В разделе «Источник» он показывает желтый восклицательный знак и N / A, хотя я трижды проверял, что таблица есть. Фактически, он был создан самой MySQL Workbench!
После ответа петерма я повторил процесс синхронизации, чтобы сделать скриншоты. При этом я заметил еще кое-что. При попытке обновить таблицу через MySQL Workbench выдает ошибку:
Error parsing DDL for `test2`.`inttest`
There was an error while parsing the DDL retrieved from the server.
Do you want to view the DDL or cancel processing it?
Когда я нажимаю View DDL
, отображается сценарий создания таблицы, но ключевые слова INT
и VARCHAR
пишутся строчными буквами.
Я не эксперт, но разве int и varchars не должны быть в верхнем регистре?
И это только в - Когда я пытаюсь отредактировать DDL в открытом окне (последний скриншот), MySQL workbench выключается, а также замораживает вкладки firefox с flash player. Это также выключает мою виртуальную машину Windows.