【发布时间】:2014-11-18 14:40:43
【问题描述】:
所以我不希望这个帖子被标记为垃圾邮件,因为之前的帖子是关于这个主题的,所以我将解释我到目前为止所做的事情,我的问题是并询问是否有任何解决方案。
我的笔记本电脑上有一个 MySQL 数据库,需要迁移到 iSeries 上的 DB2。我正在使用一个工具,由于垃圾邮件问题,我不会说是哪一个,它允许我在我的 MySQL 数据库中“复制”一个表并将其“粘贴”到我的 DB2 数据库中。
我遇到的问题是因为表名和列名在 MySQL 数据库中包含空格,所以该工具在粘贴时失败。我通过用下划线替换空格来更改一个表来确认这一点,并且副本运行良好。我有一百多个表需要复制,并且不想手动编辑每个表和列名。
有没有办法在 MySQL 表名和列中用下划线全局替换空格?
还有其他想法吗?我也在研究一种方法来强制该工具创建的查询将对象名称括在引号中,但到目前为止还没有运气。
感谢您提供的任何帮助和建议。
【问题讨论】:
-
理论上,您应该能够将数据库导出到文本文件。查找并替换所有空格,然后重新创建数据库。
-
根据文档,MySQL 不支持不带引号的标识符中的空格。所以
CREATE TABLE MY TABLE无效。 OTOH,CREATE TABLE "MY TABLE"在 MySQL 和 DB2 for i 中均有效。所以我不明白你的问题...... -
轻微修正,在 MySQL 默认
CREATE TABLE `MY TABLE`是有效的。您需要SET sql_mode='ANSI_QUOTES'才能获得支持CREATE TABLE "MY TABLE"。
标签: mysql db2 ibm-midrange database-migration