• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Tabellenstruktur als Textdatei und diese zurückspielen

byron1778

Hacker
Hallo Forum,

ich habe meine Tabellenstruktur als Textdatei vorliegen und möchte nun diese wieder zurückspielen.
Leider aber funktioniert folgendes nicht:

mysql -u root -p intern < describe.txt

Er meint, es bestünde gleich in der ersten Zeile ein Fehler.

Kann mir jemand vielleicht sagen, was ihm nicht genau passt?

Code:
id	int(11)		PRI	NULL	auto_increment
Kunde	varchar(60)	YES		NULL
Adresse	varchar(60)	YES		NULL
PLZ	int(4)	YES		NULL
Ort	varchar(40)	YES		NULL
Server	varchar(16)	YES		NULL
VD	varchar(5)	YES		NULL
Ansprechpartner	varchar(60)	YES		NULL
AnsprechpartnerTelefonnummer	varchar(25)	YES		NULL
AnsprechpartnerEmail	varchar(60)	YES		NULL
AnsprechpartnerInfo	varchar(120)	YES		NULL
Ansprechpartner2	varchar(60)	YES		NULL
Ansprechpartner2Telefonnummer	int(25)	YES		NULL
Ansprechpartner2Email	varchar(60)	YES		NULL
Ansprechpartner2Info	varchar(120)	YES		NULL
Installationsdatum	varchar(30)	YES		NULL
Installateur	varchar(60)	YES		NULL
InstallateurTelefonnummer	int(25)	YES		NULL
InstallateurEmail	varchar(60)	YES		NULL
InstallateurInfo	varchar(120)	YES		NULL
Installationsstatus	varchar(15)	YES		NULL
InstallInfo	varchar(120)	YES		NULL
ProjektleiterNVCC	varchar(60)	YES		NULL
ProjektleiterNVCCTelefonnummer	int(25)	YES		NULL
ProjektleiterNVCCEmail	varchar(60)	YES		NULL
Projektleiter	varchar(60)	YES		NULL
ProjektleiterTelefonnummer	int(25)	YES		NULL
ProjektleiterEmail	varchar(60)	YES		NULL
Verkaeufer	varchar(60)	YES		NULL
VerkaeuferTelefonnummer	int(25)	YES		NULL
VerkaeuferEmail	varchar(60)	YES		NULL
Fernwartungstyp	varchar(6)	YES		NULL
VerbindungsartDirekt	varchar(15)	YES		NULL
VerbindungssoftwareDirekt	varchar(50)	YES		NULL
AndereDirekt	varchar(50)	YES		NULL
TelefonnummerIPAdresseDirekt	varchar(15)	YES		NULL
BenutzernameDirekt	varchar(15)	YES		NULL
PasswortDirekt	varchar(15)	YES		NULL
InfoDirekt	varchar(120)	YES		NULL
VerbindungsartDFU	varchar(6)	YES		NULL
TelefonnummerIPAdresseDFU	varchar(15)	YES		NULL
BenutzernameDFU	varchar(15)	YES		NULL
PasswortDFU	varchar(15)	YES		NULL
InfoDFU	varchar(120)	YES		NULL
VerbindungssoftwareDFU	varchar(11)	YES		NULL
AndereDFU	varchar(120)	YES		NULL
IPAdresseDFU	varchar(15)	YES		NULL
Benutzername	varchar(15)	YES		NULL
Passwort	varchar(15)	YES		NULL
Info	varchar(120)	YES		NULL
InfoVPN	varchar(120)	YES		NULL
Datei	varchar(120)	YES		NULL
Kommentar	varchar(150)	YES		NULL

Die einzelnen Felder standen alle nebeneinander, habe sie dann aber mit einem Windows Editor angepasst.
Hoffe nicht, dass das der Fehler war.

Wie kann ich es zuwege bringen, aus diesen Daten, wieder eine funktionierende Tabelle herzustellen?

Danke für jede Hilfe.

Mfg
Byron
 
OP
B

byron1778

Hacker
Ich antworte mir selber:

Fehler lag bei den Beistrichen

zb:

Code:
id int(25) primary key auto_increment,
Kunde varchar(25),
usf.
 

whois

Ultimate Guru
byron1778 schrieb:
Die einzelnen Felder standen alle nebeneinander, habe sie dann aber mit einem Windows Editor angepasst.
Hoffe nicht, dass das der Fehler war.

Hmm ich denke auch das war ein Fehler.

Kannst du mir den Fehler Code geben.

cu
 
OP
B

byron1778

Hacker
Klar kann ich Dir die Fehlermeldung schicken.

There is a syntax error near id ...
Check the manual ...

Also eigentlich die Standardfehlermeldung.

Die Fehler lagen aber genau hier:

PRI muss ausgeschrieben werden zu PRIMARY KEY
dann an erster stelle ein create table intern(id int ...)
und nach jedem Befehl am Ende ein Beistrich.

Er kann also eine reine Textdatei bzw. text.sql sowie es scheint nicht richtig interpretieren, sondern braucht die genauen Befehle.
 

panamajo

Guru
byron1778 schrieb:
Er kann also eine reine Textdatei bzw. text.sql sowie es scheint nicht richtig interpretieren, sondern braucht die genauen Befehle.

Das ist richtig, denn der Aufruf
$ mysql (opts) < foo.sql
ist gleichbedeutend mit dem Aufruf der SQL Konsole und dem Eintippen der Datei. Der mysql Befehl sorgt für den Verbindungsaufbau zum Server und leitet die Befehle an diesen weiter, Statusmeldungen vom Server werden ausgegeben.
Ergo: alles was mysql versteht ist SQL.
 
Oben