Ошибки при миграции с MS SQL 2000 на MySQL 5.1 - PullRequest
0 голосов
/ 25 марта 2011

Я использую инструментарий миграции для миграции, но я получаю эти ошибки в процессе миграции

  1. Неверное определение таблицы; может быть только один столбец TIMESTAMP с CURRENT_TIMESTAMP в предложении DEFAULT или ON UPDATE
  2. Неверное строковое значение: «\ xEF \ xBF \ xBDs d ...» для столбца «СООБЩЕНИЕ» в строке 5 Передано 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

Я получаю сообщение об ошибке для столбца ответа

1 Ответ

2 голосов
/ 25 марта 2011

* Неверное определение таблицы; может быть только один столбец TIMESTAMP с CURRENT_TIMESTAMP в предложении DEFAULT или ON UPDATE * Это правильно, вам не следует создавать более одного такого поля.

Неверное строковое значение: '\ xEF \ xBF \ xBDs d ...' для столбца 'MESSAGE' в строке 5 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;

Вы пропустили запятую, и это было неправильное имя поля. Будьте осторожны с инструментарием миграции. Проверьте сгенерированные типы полей, например, если вам не нужны текстовые значения 4 ГБ, вы можете использовать простой VARCHAR вместо LONGTEXT.

...