将数据库模型从 MySQLWorkbench 导出到 MariaDB PhpMyAdmin
Posted
技术标签:
【中文标题】将数据库模型从 MySQLWorkbench 导出到 MariaDB PhpMyAdmin【英文标题】:Export database model from MySQLWorkbench to MariaDB PhpMyAdmin 【发布时间】:2020-12-09 19:56:29 【问题描述】:我在 mysqlWorkbench 上设计了一个数据库模型。然后,我导出模型以生成 SQL 脚本。最后,当我将它导入 MariaDB phpMyAdmin 时,它会引发如下错误:
#1067 - 'created' 的默认值无效
MariaDB 版本:10.5.4
你有什么想法吗?
【问题讨论】:
我们将不胜感激有关错误上下文的更多信息。我的直觉告诉我,它应该是“创建”的列类型与其默认值的类型不匹配 您好@user5482698,我在 MySQL Workbench 上做一名正向工程师,我成功地解决了关于“created”列的第一个问题。不接受其默认值“0000-00-00 00:00:00”。所以我勾选了这个选项:“NULL ON UDATE CURRENT_TIMESTAMP”。出现了第二个问题:在服务器中执行 SQL 脚本错误:错误 1064:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 5 行的 ') VIRTUAL、title
VARCHAR(255) NOT NULL、description
MEDIUMTEXT NOT NU...' 附近使用正确的语法跨度>
【参考方案1】:
我知道这是旧的,但只是遇到了这个问题,即使在 SQL 模式下设置了 ALLOW_INVALID_DATES,Maria 10.5 似乎也不会接受无效插入,而 10.3 会。我在文档中找不到任何引用,但我可以在 10.3 中插入无效日期,而不能在我测试过的几台服务器上的 10.5 中插入。在大型数据库上从 10.3 升级时处理此问题,无论允许空值是否是一种好习惯,它都会破坏大型应用程序,我们将退回到 10.3。
【讨论】:
【参考方案2】:这是我的解决方案:
创建 DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
MySQL 拒绝日期是这样的:0000-00-00 00:00:00
【讨论】:
以上是关于将数据库模型从 MySQLWorkbench 导出到 MariaDB PhpMyAdmin的主要内容,如果未能解决你的问题,请参考以下文章