Использование pt-online-schema-change для изменения таблицы
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
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Любая помощь в этом будет высоко оценена