2015-05-03 3 views
5

Ich versuche, eine Datei in eine MySQL-Tabelle mit Sequel Pro zu importieren.Wie ändere ich einen String während des Imports mit Sequel Pro in ein Datum?

Ich weiß, ich muss STR_TO_DATE verwenden, aber ich kann nicht die richtige Syntax herausfinden.

Ich bin für jede Zeile eine Reihe dieser Fehler bekommen:

[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 

Hier ist, was ich tue:

1 Datei> Importieren. Die Datei kommt und das Datumsfeld in der CSV ist Zeile 14:

enter image description here

2) Wählen Sie Datum> Hinzufügen Ausdruck

enter image description here

3) Im Fenster Ausdruck, fügen Sie diesen Code :

$14, SET date = STR_TO_DATE(@$14, '%m/%d/%Y'); 

enter image description here

4) Holen Sie sich dieses Ergebnis:

enter image description here

5) Holen Sie sich über Fehler. Was ist die richtige Syntax?

Es kann hilfreich sein, das Ihnen die Tabelle eine Idee zu geben, in ich importieren:

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 der Fehlermeldung, Amazon und USD Werte für die Felder, das Datum folgen (country und currency) in jeder Reihe.

Vielen Dank im Voraus!

Antwort

6

Ich fand es heraus.

Es braucht zwei Dinge, um die UI zum Import zu bringen.

1) In dem Ausdruck Fenster, das ist die Syntax:

STR_TO_DATE(@$14,'%m/%d/%Y') 

So fallen die SET date = Teil und nur die Zeile innerhalb der Pars für STR_TO_DATE definieren().

2) Auch müssen Sie das Kontrollkästchen für löschen Verwenden Sie zuletzt bearbeiteten Wert.

Es sieht wie folgt aus:

CSV ready to import

Und dann ...:

Global source values window

Sobald Sie auf OK klicken, wird die CSV-Import wie folgt aussieht

Success!

Ja!

Ich hoffe, das hilft jemandem.

+0

Danke! Aber haben Sie herausgefunden, wie Sie das einmal für eine Tabelle tun können, die Sie immer wieder abschneiden und erneut hochladen? Wenn ich das tue, funktioniert es - aber wenn ich die Daten abschneide und die Tabelle aktualisiere, geht mein Datum direkt zurück zu varchar. Speichert die Ausdrücke nicht einmal, wenn ich versuche, sie erneut hochzuladen. – Ryan

Verwandte Themen