Import funktioniert nicht

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Melewo
    antwortet
    Zitat von Guenni61 Beitrag anzeigen
    Auch muß der Primärschlüssel auf die Spalte

    gesetzt werden, sonst gibts eine Fehlermeldung.
    Ändert der Eintrag bei mir von allein, wenn vorher nichts anderes ausgewählt oder festgelegt wurde.

    Code:
    CREATE TABLE IF NOT EXISTS `testname` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `tag` int(2) DEFAULT NULL,
      `monat` int(2) DEFAULT NULL,
      `jahr`  int(4) DEFAULT NULL,
      `zahl1` int(2) DEFAULT NULL,
      `zahl2` int(2) DEFAULT NULL,
      `zahl3` int(2) DEFAULT NULL,
      `zahl4` int(2) DEFAULT NULL,
      `zahl5` int(2) DEFAULT NULL,
      `zahl6` int(2) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7;

    Einen Kommentar schreiben:


  • Guenni61
    antwortet
    Zitat von Melewo Beitrag anzeigen
    Du brauchst keine Tabelle leeren, wenn Du eine Spalte hinzufügst, Du brauchst nur die Struktur wie beschrieben durch Hinzufügen einer Spalte mit AUTO INCREMENT ändern.
    Hi Melewo,

    tatsächlich, ein Leeren ist nicht erforderlich. Aber nur AUTO INCREMENT

    reicht trotzdem nicht. Auch muß der Primärschlüssel auf die Spalte

    gesetzt werden, sonst gibts eine Fehlermeldung.

    Gruß
    Günni

    Einen Kommentar schreiben:


  • Melewo
    antwortet
    Du brauchst keine Tabelle leeren, wenn Du eine Spalte hinzufügst, Du brauchst nur die Struktur wie beschrieben durch Hinzufügen einer Spalte mit AUTO INCREMENT ändern.

    Einen Kommentar schreiben:


  • Guenni61
    antwortet
    Zitat von Tastatur Beitrag anzeigen
    Es hat geklapt die Datenbank ist drin, allerding ohne eine Spallte die fortlaufend nummeriert ist.
    Ich meine die Spalte ID Kann ich die noch nachträglich einfügen. Wie kann ich das machen ?
    Hi Tastatur,

    du arbeitest doch mit phpMyAdmin. Damit kannst du doch eine weitere Spalte an den Anfang der Tabelle einfügen.
    Unter Extras auto_increment auswählen und den Primärschlüssel setzen.
    Die CSV-Datei muß dann natürlich auch am Anfang jeder Zeile ein (leeres) Feld bekommen. Das sieht dann so aus:

    ;9;10;1955;13;41;3;23;12;16
    ;16;10;1955;12;32;30;49;3;18
    ;23;10;1955;34;12;14;24;36;23
    ;30;10;1955;30;13;36;44;23;4
    ;6;11;1955;31;44;6;49;5;39
    ;13;11;1955;29;44;6;37;22;18
    ;20;11;1955;27;44;8;16;12;4
    ;27;11;1955;26;37;9;44;46;24
    ;4;12;1955;47;20;31;26;21;5
    ;11;12;1955;10;26;37;8;31;22

    Ich hab' jetzt hier Semikolon als Trennzeichen benutzt. Jetzt die Tabelle leeren (oder leeren, bevor du die Spalte einfügst),
    und die CSV-Datei erneut importieren.

    Gruß
    Günni

    Einen Kommentar schreiben:


  • Melewo
    antwortet
    Rufst die Datenbank und die Tabelle auf, dann nicht "Ansicht" sondern ->Struktur auswählen.

    Unter der Liste sollte nun eine Zeile mit Auswahl "1 Spalte" einfügen und Auswahl "An den Anfang der Tabelle" angezeigt werden. Auf OK.

    Bei der sich neu öffnenden Seite die Spalte mit ID benennen, bei INT belassen und bei AUTO INCREMENT ein Häkchen setzen. Das sollte es dann gewesen sein.

    Einen Kommentar schreiben:


  • Tastatur
    antwortet
    Es hat geklapt die Datenbank ist drin, allerding ohne eine Spallte die fortlaufend nummeriert ist. Ich meine die Spalte ID
    Kann ich die noch nachträglich einfügen. Wie kann ich das machen ?

    Einen Kommentar schreiben:


  • Melewo
    antwortet
    Sollte so richtig sein, doch wenn Du die gleich als sql speicherst und importierst, sollte das auch gehen. Habe es mal gerade so probiert zu importieren:

    Code:
    CREATE TABLE IF NOT EXISTS `Testname` (
      `tag`   int(2) DEFAULT NULL,
      `monat` int(2) DEFAULT NULL,
      `jahr`  int(4) DEFAULT NULL,
      `zahl1` int(2) DEFAULT NULL,
      `zahl2` int(2) DEFAULT NULL,
      `zahl3` int(2) DEFAULT NULL,
      `zahl4` int(2) DEFAULT NULL,
      `zahl5` int(2) DEFAULT NULL,
      `zahl6` int(2) DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    INSERT INTO `Testname` (`tag`, `monat`, `jahr`, `zahl1`, `zahl2`, `zahl3`, `zahl4`, `zahl5`, `zahl6`) VALUES
    (9, 10, 1955, 13, 41, 3, 23, 12, 16),
    (16, 10, 1955, 12, 32, 30, 49, 3, 18),
    (23, 10, 1955, 34, 12, 14, 24, 36, 23),
    (30, 10, 1955, 30, 13, 36, 44, 23, 4),
    (6, 11, 1955, 31, 44, 6, 49, 5, 39),
    (13, 11, 1955, 29, 44, 6, 37, 22, 18);
    Und dann denke daran, jeden Namen für Tabelle oder Felder, den Du änderst, musst Du zweimal ändern, also oben wie unten.

    Einen Kommentar schreiben:


  • Tastatur
    antwortet
    Ist die csv so richtig geschreiben ?

    tag,monat,jahr,zahl1,zahl2,zahl3,zahl4,zahl5,zahl6
    9,10,1955,13,41,3,23,12,16
    16,10,1955,12,32,30,49,3,18
    23,10,1955,34,12,14,24,36,23
    30,10,1955,30,13,36,44,23,4
    6,11,1955,31,44,6,49,5,39
    13,11,1955,29,44,6,37,22,18
    20,11,1955,27,44,8,16,12,4

    Einen Kommentar schreiben:


  • Melewo
    antwortet
    Ich habe gerade die Tabelle genommen wie sie ist, mit der Endung .csv abgespeichert und über phpMyAdmin ohne Probleme erst importiert, dann noch einmal exportiert, nur um zu schauen, was aus der Tabelle wurde und daraus wurde halt:

    Code:
    CREATE TABLE IF NOT EXISTS `table 2` (
      `COL 1` varchar(3) DEFAULT NULL,
      `COL 2` varchar(5) DEFAULT NULL,
      `COL 3` varchar(4) DEFAULT NULL,
      `COL 4` varchar(5) DEFAULT NULL,
      `COL 5` varchar(5) DEFAULT NULL,
      `COL 6` varchar(5) DEFAULT NULL,
      `COL 7` varchar(5) DEFAULT NULL,
      `COL 8` varchar(5) DEFAULT NULL,
      `COL 9` varchar(5) DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    --
    -- Daten für Tabelle `table 2`
    --
    
    INSERT INTO `table 2` (`COL 1`, `COL 2`, `COL 3`, `COL 4`, `COL 5`, `COL 6`, `COL 7`, `COL 8`, `COL 9`) VALUES
    ('tag', 'monat', 'jahr', 'zahl1', 'zahl2', 'zahl3', 'zahl4', 'zahl5', 'zahl6'),
    ('9', '10', '1955', '13', '41', '3', '23', '12', '16'),
    ('16', '10', '1955', '12', '32', '30', '49', '3', '18'),
    ('23', '10', '1955', '34', '12', '14', '24', '36', '23'),
    ('30', '10', '1955', '30', '13', '36', '44', '23', '4'),
    ('6', '11', '1955', '31', '44', '6', '49', '5', '39'),
    ('13', '11', '1955', '29', '44', '6', '37', '22', '18');
    Nun brauchst Du nur noch die Namen für die Felder anpassen und der Tabelle einen Namen geben. Besser wäre es sicherlich, wie hier schon erwähnt varchar durch int zu ersetzen und in der CSV die 'Zeichen' zu entfernen.

    Einen Kommentar schreiben:


  • Tastatur
    antwortet
    Der Import wurde mir als erfolgreich gemeldet.
    Lediglich die Werte werden mir im PHP Admin als Nullen angezeigt.

    Kann mir jemand mal die Erste Zeile für den Import als Beispiel hier zeigen.

    'tag','monat','jahr','zahl1','zahl2','zahl3','zahl4','zahl5','zahl6'
    '9','10','1955','13','41','3','23','12','16'
    '16','10','1955','12','32','30','49','3','18'
    '23','10','1955','34','12','14','24','36','23'
    '30','10','1955','30','13','36','44','23','4'
    '6','11','1955','31','44','6','49','5','39'
    '13','11','1955','29','44','6','37','22','18'

    Einen Kommentar schreiben:


  • jschultz
    antwortet
    Zitat von Tastatur Beitrag anzeigen
    Ich hab es jetzt als .xls Datei versucht, der Import war erfolgreich, jedoch werden mir wieder nur Nullen angezeigt. Woran liegt das denn?

    Hier ein Auszug aus der .xls Datei

    'tag','monat','jahr','zahl1','zahl2','zahl3','zahl4','zahl5','zahl6' '9','10','1955','13','41','3','23','12','16' '16','10','1955','12','32','30','49','3','18' '23','10','1955','34','12','14','24','36','23' '30','10','1955','30','13','36','44','23','4' '6','11','1955','31','44','6','49','5','39' '13','11','1955','29','44','6','37','22','18' '20','11','1955','27','44','8','16','12','4' '27','11','1955','26','37','9','44','46','24'
    Vermutlich hast du in der Datenbank den Datentyp integer verwendet und willst string importieren.

    Dein CSV Format ist sowieso unmöglich.

    1. Die erste Zeile muss weg vorm import
    2. Tag, Monat und Jahr solltest du manuell ändern in folgendes Format: yyyy-mm-dd und das in ein date Feld importieren.
    3. Deine Zahlen sind offensichtlich Ganzzahlen und dementsprechend würde ich die in den Datentyp integer importieren. Die Hochkommata um die Zahlen (außer beim Datum) müssen deshalb aus dem csv File entfernt werden.

    4. Ich würde nicht mit phpmyadmin importieren, sondern mit PHPExcel, aber das ist Geschmackssache. Man kann natürlich auch den pma importer ändern...

    Einen Kommentar schreiben:


  • Tastatur
    antwortet
    Ich hab es jetzt als .xls Datei versucht, der Import war erfolgreich, jedoch werden mir wieder nur Nullen angezeigt. Woran liegt das denn?

    Hier ein Auszug aus der .xls Datei

    'tag','monat','jahr','zahl1','zahl2','zahl3','zahl4','zahl5','zahl6' '9','10','1955','13','41','3','23','12','16' '16','10','1955','12','32','30','49','3','18' '23','10','1955','34','12','14','24','36','23' '30','10','1955','30','13','36','44','23','4' '6','11','1955','31','44','6','49','5','39' '13','11','1955','29','44','6','37','22','18' '20','11','1955','27','44','8','16','12','4' '27','11','1955','26','37','9','44','46','24'

    Einen Kommentar schreiben:


  • Tastatur
    antwortet
    Zitat von UzumakiNaruto Beitrag anzeigen
    'tag','monat','jahr','zahl1','zahl2','zahl3','zahl4'
    '9','10','1955','13','41','3','23','12','16'

    weil ein leerzeichen keine zahl ist und somit INT als datentyp nicht geht.
    Ich habe die zu importierende Datei wie folgt geändert, allerdings ist es jetzt eine .txt Wie kann ich eine .txt in my php admin importieren ?

    So sieht die Datei jetzt aus. Ist eine .txt

    'tag','monat','jahr','zahl1','zahl2','zahl3','zahl4','zahl5','zahl6'
    '9','10','1955','13','41','3','23','12','16'
    '16','10','1955','12','32','30','49','3','18'
    '23','10','1955','34','12','14','24','36','23'
    '30','10','1955','30','13','36','44','23','4'
    '6','11','1955','31','44','6','49','5','39'
    '13','11','1955','29','44','6','37','22','18'
    '20','11','1955','27','44','8','16','12','4'
    '27','11','1955','26','37','9','44','46','24'
    '4','12','1955','47','20','31','26','21','5'
    '11','12','1955','10','26','37','8','31','22'
    '18','12','1955','26','8','42','39','36','14'
    '26','12','1955','34','38','42','39','9','5'
    '1','1','1956','38','22','46','4','27','36'

    Einen Kommentar schreiben:


  • Tastatur
    antwortet
    Die csv Datei ist rund 4000 Zeilen lang.
    Hat jemand eine Idee wie ich die bearbeiten kann, so das diese importfähig wird. Manuelle Bearbeitung ist wegen der Größe ausgeschlossen.

    Hier ein Auszug aus der csv Datei.

    tag monat jahr zahl1 zahl2 zahl3 zahl4 zahl5 zahl6 9 10 1955 13 41 3 23 12 16 16 10 1955 12 32 30 49 3 18 23 10 1955 34 12 14 24 36 23 30 10 1955 30 13 36 44 23 4 6 11 1955 31 44 6 49 5 39 13 11 1955 29 44 6 37 22 18 20 11 1955 27 44 8 16 12 4 27 11 1955 26 37 9 44 46 24 4 12 1955 47 20 31 26 21 5 11 12 1955 10 26 37 8 31 22




    Zitat von UzumakiNaruto Beitrag anzeigen
    'tag','monat','jahr','zahl1','zahl2','zahl3','zahl4'
    '9','10','1955','13','41','3','23','12','16'

    weil ein leerzeichen keine zahl ist und somit INT als datentyp nicht geht.

    Einen Kommentar schreiben:


  • UzumakiNaruto
    antwortet
    'tag','monat','jahr','zahl1','zahl2','zahl3','zahl4'
    '9','10','1955','13','41','3','23','12','16'

    weil ein leerzeichen keine zahl ist und somit INT als datentyp nicht geht.

    Einen Kommentar schreiben:

Lädt...
X