I'm trying to import a file into a MySQL table using Sequel Pro.
I know I need to use STR_TO_DATE, but I can't figure out the right syntax.
I'm getting a bunch of these errors for each row:
[ERROR in row 1] 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 'SET date = STR_TO_DATE(@'11/1/11', '%m/%d/%Y');,'Amazon','USD')' at line 2
Here is what I'm doing:
1 File > Import. The file comes up and the date field in the CSV is row 14:
2) Select Date > Add expression
3) In the Expression window, add this code:
$14, SET date = STR_TO_DATE(@$14, '%m/%d/%Y');
4) Get this result:
5) Get error above. What is the right syntax?
It may be helpful to give you an idea of the table I'm importing into:
CREATE TABLE `Amazon_copy4` (
`key` int(11) unsigned NOT NULL AUTO_INCREMENT,
`Title` varchar(255) DEFAULT NULL,
`Author` varchar(255) DEFAULT NULL,
`ASIN` varchar(255) DEFAULT NULL,
`Units Sold` int(11) DEFAULT NULL,
`Units Refunded` int(11) DEFAULT NULL,
`Net Units Sold or KU/KOLL Units**[1]` int(11) DEFAULT NULL,
`Royalty Type[2]` varchar(255) DEFAULT NULL,
`Transaction Type*[3]` varchar(255) DEFAULT NULL,
`Avg. List Price without VAT` decimal(19,2) DEFAULT NULL,
`Average File Size` float(5,2) DEFAULT NULL,
`Avg. Offer Price without VAT` varchar(255) DEFAULT NULL,
`Average Delivery Cost` varchar(255) DEFAULT NULL,
`Royalty` decimal(19,2) DEFAULT NULL,
`date` date DEFAULT NULL,
`country` varchar(255) DEFAULT NULL,
`currency` varchar(255) DEFAULT NULL,
PRIMARY KEY (`key`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
In the error message, Amazon
and USD
are values for the fields that follow date (country
and currency
) in each row.
Thanks in advance!
To import an SQL dump file using the most recent version of Sequel Pro, connect to your MySQL host and select a database, then choose 'Import...' from the File menu.
Sequel Pro is not available for Windows but there are plenty of alternatives that runs on Windows with similar functionality. The best Windows alternative is DBeaver, which is both free and Open Source.
I figured it out.
It takes two things to get the UI to do the import.
1) In the expression window, this is the syntax to use:
STR_TO_DATE(@$14,'%m/%d/%Y')
So drop the SET date =
part and only define the row inside the parens for STR_TO_DATE().
2) Also you have to clear the checkbox for Use last edited value.
It looks like this:
Once you click OK, the CSV import looks like this:
And then...
Yes!
I hope this helps someone.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With