Error in importing CSV data into MySQL database using PHPMyAdmin - mysql

I'm importing CSV file into database using PHPMyAdmin. I have kept null for the columns that I don't want to import values right now. When I import CSV it is giving me an error: #1292 - Incorrect datetime value: '' for column 'updated_at' at row 1.
Is there a way to want to get rid of this error without importing values into 'updated_at' column.
Note: 'updated_at' is a date time column. It is created using following query.
ALTER TABLE labdata1 ADD updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;

Related

MySQL datetime data saving error for 15+ years data

In MySQL 8.0.28 we have a table column named expiry_date as datetime filed.
When we try to insert data greater than 15 years, it fires
ERROR 1292: 1292: Incorrect datetime value: '2038-01-20 03:36:33' for column 'expiry_date' at row 1
For 2038-01-19 03:36:33 date, its inserting to DB.
Table ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
We can not change data-type as this table is in production system.
What is causing this issue?
Following threads were checked, but not addressing our issue :
incorrect-datetime-value-while-saving-data-to-mysql
incorrect-datetime-value-database-error-number-1292
error-in-mysql-when-saving-data

Can I set mysql date default value to empty value?

I have a mysql table contains a Nullable date column with NULL as it's default value. I've tried to import 5000 rows data from a csv file which most of it's date values are empty. But those empty values became '0000-00-00' after imported to my mysql table.
Can I set the default value of that table column to an empty value? Something like '' instead of '0000-00-00'.

MySQL date column in phpmyadmin

I'm building registration form for my teacher's website.
I have created database called "students" with various rows like "name, surname etc."
Now I would like to add a column named "date_submitted" which will automatically insert current date and time to the row when data is submitted.
For example a student submits his data, the data is inserted into the table and mysql automatically fills the date and time when this insertion occured.
I tried #MLBDG answer from this question MySQL date column auto fill with current date but it doesn't work.
This is the way I do it:
Query:
ALTER TABLE `students` ADD `date_submitted` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER ;
The error I'm receiving:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Server version: 5.5.34 - MySQL Community Server (GPL)
Remove AFTER keyword at the end of your query:
ALTER TABLE `students` ADD `date_submitted` TIMESTAMP on update CURRENT_TIMESTAMP
NOT NULL DEFAULT CURRENT_TIMESTAMP;
Syntax: ALTER TABLE
If using the AFTER keyword in your ALTER TABLE query, it must be followed by the name of a field in the table you are modifying.
Remove After Keyword at the end of your query
ALTER TABLEstudentsADDdate_submittedTIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

Does mysql supports two default timestamp columns in a table now?

I've two columns in my tables in mysql db:
1. ins_ts
2. upd_ts
1st column should get a default timestamp whenever a row is inserted
2nd column should be updated with the default current timestamp each time a row is updated.
So I need both column to have a default value.
That's what I'm trying to do:
alter table test MODIFY ins_ts timestamp DEFAULT CURRENT_TIMESTAMP;
alter table test MODIFY upd_ts timestamp ON UPDATE CURRENT_TIMESTAMP;
1st works but 2nd one gives me following error:
Error Code: 1293. Incorrect table definition; there can be only one TIMESTAMP column
with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
I had read somewhere that mysql now supports two default timestamp columns, but here it doesn't works.
Please suggest is there any way to achieve the same functionality.
Thanks

INFILE MySQL - TIMESTAMP not working

I am trying to use the INFILE statement to import data from a tab delimited file. However, one of the data types is a TIMESTAMP. I tried using NULL in the flat file, but the resulting value after executing the statement was '0000-00-00 00:00:00'. What value can I use so the TIMESTAMP will work?
your table definition should be
timestamp_column TIMESTAMP DEFAULT CURRENT_TIMESTAMP
then when inserting the timestamp_column should be time of insert.