Использование pt-online-schema-change для изменения таблицы - PullRequest
0 голосов
/ 23 апреля 2019

pt-online-schema-change не может изменить таблицу. Это терпит неудачу на этапе, где он копирует строки из исходной таблицы в новую таблицу и выдает ошибку: копирование строк вызвало ошибку MySQL 1048: Уровень: предупреждение Код: 1048 Сообщение: столбец 'trans_datetime' не может быть нулевым

определение столбца для 'trans_datetime' из таблицы show create >> trans_datetime datetime DEFAULT NULL

, который ясно говорит, что он может иметь нулевые значения. Фактически, все строки в таблице, которые я пытаюсь изменить, имеют значение null для 'trans_datetime'

Я выполняю следующую команду pt-osc:

pt-online-schema-change --recursion-method=none --user=test --password=xxxxx 
  --socket=/mysqldata/mysql.sock --nocheck-replication-filters 
  --nocheck-alter --execute 
  --alter "CHANGE COLUMN id id BIGINT(20) NOT NULL, drop primary key, 
           add primary key (order_id, trans_datetime)"
  D=testing,t=temp_test_table

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Любая помощь по этому вопросу будет высоко оценен

...