0

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

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

为了解决第一个错误,我在这里得到了一些东西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

我收到答案栏错误

4

1 回答 1

2

*不正确的表定义;在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列* 这是正确的,您不应该创建多个这样的字段。

不正确的字符串值:'\xEF\xBF\xBDs d...' 用于第 5 行的列 'MESSAGE' 已传输 0 行。 可能的编码错误,尝试运行 '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。

于 2011-03-25T13:24:59.033 回答