繁体   English   中英

从MS SQL 2000迁移到MySQL 5.1时出错

[英]Errors while migrating from MS SQL 2000 to MySQL 5.1

我正在使用迁移工具包进行迁移,但我在迁移过程中遇到了这些错误

  1. 表定义不正确; 在DEFAULT或ON UPDATE子句中只能有一个TIMESTAMP列和CURRENT_TIMESTAMP
  2. 字符串值不正确:'\\ xEF \\ xBF \\ xBDs d ...'表示传输的行5 0行的“MESSAGE”列。

为了解决第一个错误,我在这里得到了一些东西http://terrencemiao.com/Webmail/msg00949.html

但我没有得到第二个错误它是什么,为什么它如何解决它也建议我一些更好的想法修复第一个如果有任何除了链接中提到的

    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子句中只能有一个带CURRENT_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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM