SqlAlchemy читает из mysql/mariadb базы данных 0000-00-00 00:00:00 и null с типом данных datetime/timestamp значения как одно и тоже
Когда я пытаюсь прочитать данные из таблицы в одной базе данных (используя Python, sqlalchemy или pandas для выполнения некоторых манипуляций с данными) и отправить эти данные в ту же таблицу в другой базе данных (с той же схемой таблицы) значения с типом datetime / timestamp в mysql, которые равны значению 0000-00-00 00:00:00, 0000-00-00 в другой таблице) или NULL (этот столбец может быть NULL,или некоторой датой(в том числе 0000-00-00 00:00:00)), в Python после считывания они имеют одно и то же значение, а именно None(если это просто sqlalchemy) или NaT (если мы прочитаем фрейм данных pandas). Как я могу сохранить целостность этих значений и отправить в другую таблицу те же данные (если мы используем значение 0000-00-00 00:00:00, то и отправляем 0000-00-00 00:00:00, если было NULL, отправляем NULL)
Схема таблицы(часть колонок), например:
create table some_table
(
userid int auto_increment,
username varchar(255) not null,
email varchar(255) not null,
lastLogin_Date datetime null,
primary key (userid)
)
collate = utf8mb4_unicode_ci;
Данные колонки с датой:
Как эти данные читаются в питоне - первая строка на фото, pandas dataframe ниже на фото.
Как я делал это в python: ниже с pandas dataframe, а если использовать только sqlalchemy мы получим как выше - None (также как я знаю под капотом pandas sqlalchemy):
engine3 = create_engine(
'mysql+mysqlconnector://' + 'root' + ':' + 'root' +
'@localhost:' + '3306' + '/' + 'testdb',
echo=False)
for chunk_dataframe in pd.read_sql(
"SELECT * FROM table_name", engine3, chunksize=10000):
pass
После возвращения данных в mysql вместо 0000-00-00 00:00:00 будет NULL, соответственно как сохранить исходные значения?

