I want to insert a date into MySQL table. But, even if I use strftime()
, the timestamps are showing like 00:00:00
. How can I get rid of it?
insert_stmt = ( "insert into dates (Date)" "values (%s)" ) date = datetime.date(2020, 4, 6) formatted_date = date.strftime('%Y-%m-%d') data = (formatted_date,) mycursor.execute(insert_stmt, data) mydb.commit()
Output:
mysql> select * from dates; +---------------------+------+ | Date | name | +---------------------+------+ | 2020-03-23 00:00:00 | John | | 2020-03-03 00:00:00 | NULL | | 2020-04-06 00:00:00 | NULL | +---------------------+------+ 3 rows in set (0.06 sec)
Advertisement
Answer
Obviously the column Date
has data type DATETIME
or TIMESTAMP
.
If you don’t need the time part of the column, you should change the data type to DATE
:
ALTER TABLE dates MODIFY Date DATE;