从MS SQL 2000迁移到MySQL 5.1时出错
我正在使用迁移工具包进行迁移,但在迁移过程中我遇到了这些错误从MS SQL 2000迁移到MySQL 5.1时出错,mysql,sql-server,database-migration,Mysql,Sql Server,Database Migration,我正在使用迁移工具包进行迁移,但在迁移过程中我遇到了这些错误 表定义不正确;在DEFAULT或ON UPDATE子句中,只有一个TIMESTAMP列具有当前的_TIMESTAMP 第5行“消息”列的字符串值不正确:'\xEF\xBF\xBDs d..' 已传输0行 为了修复第一个错误,我在这里得到了一些东西 但是我没有得到第二个错误是什么,为什么会有,如何修复它也建议我一些更好的想法来修复第一个,如果有,除了在链接中提到的 USE `MyDB` Creating tables ...
USE `MyDB`
Creating tables ...
Creating table MyTable...
DROP TABLE IF EXISTS `MyTable`
Creating table MyTable ...
SET NAMES UTF8;
CREATE TABLE `MyTable` (
`PrimaryKey` INT(10) NOT NULL AUTO_INCREMENT,
`FK_QUESTION_ID` INT(10) NOT NULL,
`ANSWER` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL
PRIMARY KEY (`PK_ID`)
)
ENGINE = INNODB
我得到的答案列错误
*表定义不正确;在DEFAULT或ON UPDATE子句中,只有一个TIMESTAMP列具有当前的_TIMESTAMP*
这是正确的,您不应该创建超过一个这样的字段
不正确的字符串值:“\xEF\xBF\xBDs d…”用于第5行和第0行的“MESSAGE”列。
可能存在编码错误,请尝试运行“SET NAMES UTF8;”插入数据之前
试试这个说法
CREATE TABLE `MyTable` (
PK_ID INT(11) NOT NULL AUTO_INCREMENT,
FK_QUESTION_ID INT(11) NOT NULL,
ANSWER LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
PRIMARY KEY (`PK_ID`)
)
ENGINE = INNODB;
你漏掉了一个逗号,是错误的字段名。小心使用迁移工具包。检查生成的字段类型,例如,如果您不需要4GB文本值,您可以使用简单的VARCHAR而不是LONGTEXT。显示该错误的代码行。我已经更新了问题。您可以看一下并告诉我我尝试过“设置名称UTF8;”但仍然得到同样的错误