Frage

Ich bin verwirrt.Aus Referenzen, die ich online gesehen habe, lautet der Befehl zum Ausführen eines Textdateiskripts wie folgt:

mysql> --user=root --password=admin --database=zero <query.sql

Als ich dies jedoch ausführte, meldete die Befehlszeile, dass ein Fehler in der MySQL-Syntax vorliegt (Fehler 1064).Ich habe die Skriptdatei query.sql im Ordner C:Programme...\MYSQL\MYSQL Server5.1 gespeichert.(je nachdem, welches Ordnerverzeichnis die MySQL-Befehlszeilenterminal-EXE-Datei enthält)

Ich habe dann Folgendes gemacht:

 mysql> USE db1 \g
 mysql> source <query.sql \g

Es funktioniert auch nicht;Die Befehlszeile gab mir den gleichen Fehler.Die MySQL-Version, die ich habe, unterscheidet sich von anderen Versionen, die ich gesehen habe.Wie Sie sehen, müssen Sie am Ende jeder Abfrage „\g“ hinzufügen.

Bitte helfen Sie mir und sagen Sie mir Bescheid, wenn die Beschreibung nicht ganz klar ist. Vielen Dank

BEARBEITET:Das ist also der Code, den ich in der query.sql habe:

CREATE TABLE IF NOT EXISTS 'db1'(
'id' int(255) NOT NULL auto_increment,
'date' date NOT NULL,
'title' varchar(255) NOT NULL,
'introtext' text NOT NULL,
'maintext' text NOT NULL,
PRIMARY KEY ('id')
)
War es hilfreich?

Lösung

Entfernen Sie die Anführungszeichen: 'db1'.Verwenden Sie bei Bedarf Backquotes, z. B. für das aufgerufene Feld date um es anhand des Typs zu identifizieren date.Und füge ein hinzu ; am Ende der Aussage:

CREATE TABLE IF NOT EXISTS db1(
  id int(255) NOT NULL auto_increment,
  `date` date NOT NULL,
  title varchar(255) NOT NULL,
  introtext text NOT NULL,
  maintext text NOT NULL,
  PRIMARY KEY (id)
) ;

Andere Tipps

Sie können eine SQL-Datei aus dem Client ausführen, mit:

generasacodicetagpre.

Alternativ, wenn Sie nicht bereits auf dem Client sind, können Sie das Folgende von der Befehlszeile verwenden:

generasacodicetagpre.

Sie müssen den DB so angeben, dass eine Anweisung wie: -

Verwenden (Datenbankname)

so oben, ersetzen Sie den (Datenbanknamen) mit dem Namen der Datenbank

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top