我刚开始使用MySQL Workbench,并且在同步时遇到多个问题。
我使用Workbench对模型进行建模,并对其进行正向工程,并在数据库服务器中成功运行了它。后来编辑了触发器,并尝试将其与数据库服务器同步
所以我去了Database -> Synchronize Model...
我只编辑了一个触发器(只是将+1
添加到触发器中已经存在的变量中),但是如您所见,它显示所有表都必须更改/更新(带有黄色的感叹号)。 不正确吗?
并且当我单击continue
时,我在生成的脚本中注意到它正在删除外键并再次添加它们。
并且当我单击Execute
时,它显示错误:
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Default Collation' at line 1
此外,它还会为架构和表的所有DEFAULT COLLATE Default Collation
语句添加ALTER
,这会导致error 1064
ALTER SCHEMA `myschema` DEFAULT COLLATE Default Collation ;
.....
.....
.....
ALTER TABLE `table1`
COLLATE = Default Collation ;
ALTER TABLE `table2`
COLLATE = Default Collation ;
ALTER TABLE `table3`
COLLATE = Default Collation ;
....
....
....
....
MySQL社区版:8.0.19
MySQL工作台:8.0.19
macOS:Catalina 10.15.3
我已经研究了有关error: 1064
的其他SO帖子,许多建议更改版本。因此,我还更改了Workbench Model -> Model Options... -> MySQL -> Target MySQL Version: 8.0.19
中的MySQL版本,但仍然存在该错误。
我错过了什么还是做错了吗?
我尝试(以另一种方式)将模型(作为目标)与数据库服务器(作为源)进行同步,以确保至少数据库服务器符合预期。因此,当我这样做时,所有外键都将在EER图中删除。
我在数据库服务器上检查,甚至使用此post都存在外键,并且服务器上的一切都很好。