Я использую код ниже из этого ответа stackoverflow , чтобы скопировать строку в таблице и создать новую строку в той же таблице, но с теми же данными и уникальным первичным ключом. Я запускаю код, используя модуль mysql -connector- python.
CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
UPDATE tmptable_1 SET primarykey = NULL;
INSERT INTO table SELECT * FROM tmptable_1;
DROP TEMPORARY TABLE IF EXISTS tmptable_1;
Этот код работает в производственной базе данных, но дает следующую ошибку в моей локальной тестовой базе данных.
IntegrityError: 1048 (23000): Column 'primaryKey' cannot be null
Локальная БД:
- Версия:
MYSQL==5.6.47
- Скомпилировано для: osx10.15 (x86_64)
- Клиент БД:
mysql-connector-python==2.1.3
Производственная БД:
- Версия:
MYSQL==5.6.40
- Скомпилировано для: Linux (x86_64)
- Клиент БД:
mysql-connector-python==2.1.3
Я использую MYSQL Workbench для экспорта схемы и данных из производственной базы данных и импорта их в мою локальную тестовую базу данных.
Есть ли какие-то настройки конфигурации для MYSQL БД, в чем проблема? Я не уверен, в чем причина разницы в поведении базы данных.