MySQL Syntaxerror beim import

realmoney

Gesperrt
23 März 2008
900
104
Ja merkwürdige Sache.

Wollte eine DB umziehn und hab die via Exportieren runtergeladen wie immer.
Nun wollt ich die in die neue DB Importieren und der sagt mir:

#1064 - 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 'INSERT INTO `keys` VALUES (1, 'text', '2text')' at line 1

bei folgendem Insertbefehl.

INSERT INTO `keys` VALUES (1, 'text', '2text');

Das ging früher immer und genauso kommt es aus der DB auch raus.Selbst in der alten DB nimmt er diesen Befehl nichtmehr an.

Mysql Version 5.0 (ich weiss nicht ob die zwischendurch geupdatet wurde und es deswegen nichtmehr geht)

Wo is denn da n Fehler beim Insert???

Die tabellenstruktur ist exakt gleich und dennoch meckert er beim insert.:roll:

hab mir mal die Anleitung für 5.0 angeschaut aber da find ich bei der Suche nach Insert nur sachen für die Priorität...
 
Der ausgegebene Code ist, was nach dem Parser-Fehler folgt. Vermutlich liegt der Fehler bereits vorher, z.B. ein vergessenes Semikolon.
 
aber genauso wurde es exportiert.Da kann man doch erwarten das der Import damit problemlos geht.

und wo da n semikolon fehlen soll...

Bei nem Mysql updates wirds doch wohl keine Grundlegenden Änderungen beim Im/Export geben oder?
 
bist du dir sicher, dass die Tabelle "keys" auch drei Spalten hat, wobei die erste ne Integer ist?
Kann es sein, dass du zwischen verschiedenen Datenbankversionen importierst bzw exportierst? Die können andere Fehlerrichtlinien haben. Also was bei A ein Fehler ist, ist bei B keiner... so könnte das zu stande kommen.

Hatte so ein Problem auch mal, war nen RIESEN ACT das wieder hinzubekommen.

Was theHacker meint: schau mal in die Zeile obendrüber, also eine Zeile höher. Da könnte nen Semikolon fehlen, oder aber auch nen Hochkomma oder ähnliches.
 
INSERT INTO `keys` VALUES (1, 'text', '2text');

ist das der tasächliche Befehl oder wurde von dir dieser abgeändert? Also steht da wirklich text und 2text??

Ich weiß, das es manchmal bei Exports (k.a. welche Einstellung) es dazu kommt, das sowas bei rauskommt:

INSERT INTO `keys` VALUES (1, 'Hier gibt's nichts', '2text');

Das Problem gabs früher zumindest und seit dem mache ich nen DB2DB Transfer nur noch per Heidisql.
 
Also es liegen beide DB´s auf dem gleichen Server.Nur n anderer Web Account.Daher auch die gleiche Mysql version.

Lustigerweise kann ich den Insertbefehl nichtmal in der Originaldatenbank ausführen.So wie er aus der 1 DB kommt geht er in keine der beiden DB´s rein.
Und ja die Tabelle "keys" hat nur die 3 Spalten.
Die Texte hab ich alleridngs abgeändert aber da sitzen auch keine anderen Semikolons zwischen.
Ich glaub ich muss mal abwarten was mein Hoster sagt.

Aber selbst n Handeintrag in die neue Db gibt genau den gleichen Export aus wie die Original DB.Das is eigentlich n Ding der Unmöglichkeit...
 
INSERT INTO `keys` VALUES (1, 'text', '2text');

also mein code sieht immer so aus:

INSERT INTO wettscript_wetten (heim, gast) VALUES ('$heim', '$gast');

bei dir fehlt der teil (heim, gast) denn da wird bestimmt wie deine spalte heißt was nach values kommt ist was in die db reingeschrieben wird...

da musst du was vergessen haben..

PS: mal ein tipp and dich
übrigens nimm mal den link aus deinem sig raus dass ist ja ne endlosschleife... kann zum absturz des browsers führen.. bei langsamen rechner kann der rechner auch abstürzen^^
 
also mein code sieht immer so aus:

INSERT INTO wettscript_wetten (heim, gast) VALUES ('$heim', '$gast');

bei dir fehlt der teil (heim, gast) denn da wird bestimmt wie deine spalte heißt was nach values kommt ist was in die db reingeschrieben wird...

da musst du was vergessen haben..

Spalten angaben mußt du nivht machen wenn die überinstimmen, nur wenn du weniger daten einfügst (Weil der rest der standardwert sein soll)

Die Texte hab ich alleridngs abgeändert aber da sitzen auch keine anderen Semikolons zwischen.

Und was ist mit ' ??? Nicht semikolon, sondern sind da zuviele ' ??

Das ist immer so eine Sache, wenn man nicht den originalen Code postet, kann nicht geholfen werden!
 
ja kann ja alles sein aber da wurde NICHTS vergessen.

tust du nur so oder ist das dein Ernst?
MySQL sagt dir bei einem Syntaxerror die Befehle hinter dem Fehler. Dein Fehler liegt also vor dem Insert-Statement. Dementsprechend kann dir auch hier niemand helfen, da du nur den SQL-Befehl zeigst, der nach deinem fehlerhaften kommt.
 
tust du nur so oder ist das dein Ernst?
MySQL sagt dir bei einem Syntaxerror die Befehle hinter dem Fehler. Dein Fehler liegt also vor dem Insert-Statement. Dementsprechend kann dir auch hier niemand helfen, da du nur den SQL-Befehl zeigst, der nach deinem fehlerhaften kommt.

VOR dem insert befehl kommt NICHTS.

ich hab immer zuert die tabelle angelegt und dann nur die inserts ausgeführt und bisher ging das auch immer.
 
bitte wenn ihr draus schlau werdet.hier kommt der selbe fehler :roll:

-- phpMyAdmin SQL Dump
-- version 2.7.0-pl2
-- https://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 29. November 2010 um 16:07
-- Server Version: 5.0.32
-- PHP-Version: 5.2.0-8+etch15
--
-- Datenbank: `usr_web1_1`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `keys`
--

CREATE TABLE `keys` (
`id` int(15) NOT NULL auto_increment,
`keys` text NOT NULL,
`url` text NOT NULL,
UNIQUE KEY `id` (`id`),
FULLTEXT KEY `keys` (`keys`)
) ENGINE=MyISAM AUTO_INCREMENT=19247736 DEFAULT CHARSET=utf8 AUTO_INCREMENT=19247736 ;

--
-- Daten für Tabelle `keys`
--

INSERT INTO `keys` VALUES (1, 'text', 'url.php');

und nein mit dem autoincrediment hats jetzt nix zu tun.sonst würde er es anzeigen das es doppelt is.er lässt einfach den code nich durch...
 
Ich hab den Code, den du oben gepostet hast eben bei mir (Server Version: 5.0.51a-24+lenny4) mal ausführen lassen und es kam kein Fehler! Ich weiß nicht was du bei dir verändert hast bzw was dein Server dann net versteht.

Probier doch bitte mal aus folgenden Code auszuführen:
Code:
-- 
-- Tabellenstruktur für Tabelle `keys`
-- 

CREATE TABLE `keys` (
`id` int(15) NOT NULL auto_increment,
`keys` text NOT NULL,
`url` text NOT NULL,
UNIQUE KEY `id` (`id`),
FULLTEXT KEY `keys` (`keys`)
) ENGINE=MyISAM AUTO_INCREMENT=19247736 DEFAULT CHARSET=utf8 AUTO_INCREMENT=19247736 ;

-- 
-- Daten für Tabelle `keys`
-- 

INSERT INTO `keys`(`id`,`keys`,`url`) VALUES (1, 'text', 'url.php');
Wenn es damit auch nicht geht, dann muss es an der Zeile obendrüber liegen, weil so ist es MYSQL-Doof-Sicher :ugly: das peilt jede Version.

btw: warum hast du deinen auto_increment=19247736 ??? sollten die net bei 0 anfangen oder hast du einen Teil noch in ner anderen Tabelle?

Was hast du denn bei deinem Exportieren alles an Optionen ausgewählt? "Vollständige 'INSERT's" und "Erweiterte 'INSERT's"???
 
Bringt auch "#1064 - 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 '' at line 1 "
Der Auto incrediment wert is schon richtig :D Die tabelle is so gross...

So also liegts anna Kiste wies aussieht.Er nimmt ja gar keinen Befehl mehr an :roll: Der Hoster weiss schon bescheid ma schauen was der dazu sagt...
 
Ich würde mal ein phpmyadmin-update empfehlen. Das Teil scheint ja uralt zu sein und wer weiß, was da für ein Fehler drin ist.

EDIT: Das Teil ist ca.5 Jahre alt. Da war MySQL5 glaube noch alpha.
EDIT 2: Ach nee, wurde vor kurzem freigegeben.
 
Zuletzt bearbeitet:
so der fehler wurde gefunden...
es war weder n zeichenfehler noch n bug im phpmyadmin oder sonst irgendwas.bin nur durch zufall drauf gekommen weil ich einen export als .txt gespeichert hab und nicht als .sql (wies ja eigentlich sein soll)

mit .txt datein geht es merkwürdiger weise.:roll: