将数据库模型从 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的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据库从mysql工作台导出到sql server

mysqlworkbench 在导出数据库时给出版本错误

mysqlworkbench怎么建立数据库模型,怎么建表

mysqlworkbench怎么建立数据库模型,怎么建表

mysqlworkbench怎么建立数据库模型,怎么建表

mysqlworkbench怎么建立数据库模型,怎么建表