Datensätze wieder in Tabelle einfügen

Hallo, ich bräuchte mal eure Hilfe. Ich bin in SQL usw. (noch) nicht so bewandert

Ich habe aus Versehen ein ganzes Thema aus einem Thread gelöscht. Die einzelnen Datensätze habe ich aber vorher gesichert gehabt und nun in einer Textdatei.

in diesem Format:
INSERT INTO mybb_posts VALUES (11913, 62, 98, 18, ‚RE: +++ NEWSTICKER +++‘, 0, 2, ‚cleo33‘, 1263924722, ‚Für das Konzert am 18.06. in der Radio City Music Hall könnendie VIP karten bestellt werden\r\n\r\n‘, ‚87.187.199.162‘, 1471924130, 1, 0, 0, 0, 1, ‚4fa3c61278f933c6c25aa1b64dd1ff6b‘);

Wenn ich die Datensätze einfüge bekomme ich auch erstmal keine Fehlermeldung. Ich sehe, wenn ich suche. den Eintrag aber nicht.

DASS sie eingefügt wurden, erkenne ich aber daran, dass, wenn ich es erneut versuche, ich die Meldung bekomme, dass der Eintrag bereits existiert.

Wenn ich nach Teilen des eigentlichen Posts suche, kommt eine Fehlermeldung wegen eines falschen Syntax

MySQL meldet:

#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 ‚City Music Hall können LIMIT 0, 30‘ at line 1

Was mache ich falsch?
Ich vermute es könnte daran liegen, dass ich dass Thema in dem Thread den Thread neu angelegt hatte und schon 2 Posts gemacht habe?!
Und natürlich auch viele andere posts danach

Wie kriege ich die Einträge wieder da hin, wo sie hin sollen?

Ich habe, wie gesagt, leider kaum Ahnung von SQL…

Hallo Petra

Wenn ich die Datensätze einfüge bekomme ich auch erstmal keine
Fehlermeldung.

Du solltest aber auch eine Meldung bekommen, über die Anzahl der verarbeiteten Datensätze.
_Wenn Sie eine INSERT … VALUES-Anweisung mit mehreren Wertelisten oder INSERT … SELECT verwenden, gibt die Anweisung einen Informations-String im folgenden Format zurück:

Records: 100 Duplicates: 0 Warnings: 0_

http://dev.mysql.com/doc/refman/5.1/de/insert.html

Ich sehe, wenn ich suche. den Eintrag aber
nicht.

Und wie suchst Du denn?

DASS sie eingefügt wurden, erkenne ich aber daran, dass, wenn
ich es erneut versuche, ich die Meldung bekomme, dass der
Eintrag bereits existiert.

Woher dann deine Skepsis?

Wenn ich nach Teilen des eigentlichen Posts suche, kommt eine
Fehlermeldung wegen eines falschen Syntax

Auch hier wieder: wie suchst Du denn?

Was mache ich falsch?

Zu wenig Input :wink:

Ich vermute es könnte daran liegen, dass ich dass Thema in dem
Thread den Thread neu angelegt hatte und schon 2 Posts gemacht
habe?!
Und natürlich auch viele andere posts danach

Was auch immer das bedeuten soll, das Einfügen von beliebig vielen Datensätzen sollte aber auf das Suchen, bzw. das Suchergebnis keinen Einfluss haben. Zumindest nicht in der Form, daß man das Eingefügte nicht mehr findet…
Es sei denn, Du suchst in der falschen Art an der falschen Stelle mit falschen Werten…

Wie kriege ich die Einträge wieder da hin, wo sie hin sollen?

Wo sollen sie denn hin?

Ich habe, wie gesagt, leider kaum Ahnung von SQL…

Das ist am Anfang immer so.

Viele Grüße
Marvin

Hallo erstmal und verdammt! Da warte ich auf Infomail über Antwort und es kommt keine und nun sehe ich Deine Antwort…

ich sehe schon, wenn man nicht weiß wovon man redet, kann man auch nicht richtig erklären und/oder die richtigen Fragen stellen :wink:

also: es gab ein Thema im Thread , das +++NEWSTICKER+++ hieß, dieses habe ich aus Versehen gelöscht.
Danach habe ich das Thema neu angelegt, und auch schon 2 neue Posts gemacht (im Board selber) Diese habe ich habe in der Tabelle ‚posts‘ auch gefunden, außerdem aber auch ca. 20 andere Einträge, die NICHT im Board sichtbar, aber in der Tabelle vorhanden waren.
( Erklärung, alle weiteren posts wurden immer als RE:+++Newsticker+++ gemacht (also als Antwort auf das Thema)

Inzwischen habe ich alle diese Einträge IN der SQL Datenbank gefiltert und direkt entfernt.

Nun habe ich alle Einträge aus der Sicherung in einer Text-Datei und die möchte ich in die tabelle posts einfügen.

Zu deinen Fragen: gesucht habe indem ich in der Tabelle-> Anzeigen, einfach nach dem subject sortiert habe und mich dann zur Seite ‚vorgetastet‘ :wink:
so habe ich sie dann auch angehakt und entfernt (siehe oben)

Das ‚Einfügen‘ der Daten aus der textdatei (test mit 2 Datensätzen) hatte ich wie folgt gemacht ( evtl. ist ja auch DAS schon falsch?!)

auf die Tabelle-> anzeigen, dann auf den Punkt ‚bearbeiten‘
(geht ein Fenster auf) dann dort auf ‚Dateiimport‘ und unten auf ‚Textdatei in Tabelle einfügen‘ (Datei auswählen)-abschicken

dann kommt:
Eingefügte Zeilen: 2 (die Abfrage dauerte 0.0010 sek)
SQL-Befehl:
LOAD DATA LOCAL INFILE ‚/var/tmp/phpNw9r3A‘ INTO TABLE mybb_posts FIELDS TERMINATED BY ‚;‘ ENCLOSED BY ‚"‘ ESCAPED BY ‚\‘ LINES TERMINATED BY ‚\r\n‘
[Bearbeiten] [PHP-Code erzeugen]

wenn ich nochmal die textdatei einlese:
kommt eine Fehlermeldung

SQL-Befehl:

INSERT INTO mybb_posts
VALUES ( 637, 62, 98, 18, ‚RE: +++ NEWSTICKER +++‘, 0, 4, ‚Eddie‘, 1227725717, ‚[color=#0000CD][size=medium]Die Ver?ffentlichung der Single „Dirty Dancing“ hat sich auf den 19.12.08 verschoben.[/size]\r\n\r\nTracklist:\r\nDirty Dancing (Album Version)\r\nDirty Dancing (RedOne Mix)\r\nLooking Like Danger (Album Version) \r\nDirty Dancing (International Version) \r\n\r\nDer Single ist noch ein Poster beigelegt.\r\n\r\nCover:[/color]\r\n\r\n[img][http://cover.universal-music.de/b2b/150/127090.jpg/…: www.universal-music.de‘, ‚192.168.1.100‘, -1062731420, 1, 0, 4, 1228489152, 1, ‚046855ecdf200fe944b41abe0abd8a7f‘ )

**MySQL meldet:

#1062 - Duplicate entry ‚637‘ for key 1**

In keinem Fall wird mir aber der Post im Forum(board)angezeigt??

Hallo Petra,

gesucht habe indem ich in der Tabelle->
Anzeigen, einfach nach dem subject sortiert habe und mich dann
zur Seite ‚vorgetastet‘ :wink:

vorgetastet? Warum nicht einfach ein

SELECT \* FROM Anzeigen WHERE ...

wie auch immer.

Das ‚Einfügen‘ der Daten aus der textdatei
hatte ich wie folgt gemacht
auf die Tabelle-> anzeigen, dann auf den Punkt ‚bearbeiten‘

Du redest von phpMyAdmin?

Eingefügte Zeilen: 2 (die Abfrage dauerte 0.0010 sek)
SQL-Befehl:
LOAD DATA LOCAL INFILE ‚/var/tmp/phpNw9r3A‘ INTO TABLE
mybb_posts FIELDS TERMINATED BY ‚;‘ ENCLOSED BY ‚"‘
ESCAPED BY ‚\‘ LINES TERMINATED BY ‚\r\n‘

Rein formal ist das völlig richtig. Ob es ausreicht und ob die Daten auch so stimmen, kann dir niemand hier sagen, da wir nicht wissen, wie die Struktur deiner DB aussieht.
Nur eins kann ich dir mit Gewissheit sagen: Wenn da steht

Eingefügte Zeilen: 2 (die Abfrage dauerte 0.0010 sek)

dann sind deine zwei Testdatensätze auch eingefügt. Da gibt es keinen Zweifel.

wenn ich nochmal die textdatei einlese:
kommt eine Fehlermeldung
#1062 - Duplicate entry ‚637‘ for key 1

was ja auch so sein sollte. Wenn Du zweimal (oder eben nochmal) den gleichen Datensatz mit dem gleichen Key einfügst, bekommst Du so eine Meldung. In deiner mir unbekannten Tabellendefinition steht ja sicher sowas wie

UNIQUE KEY

http://dev.mysql.com/doc/refman/5.1/de/constraint-pr…

In keinem Fall wird mir aber der Post im
Forum(board)angezeigt??

Wozu man, wie oben gesagt, ohne Kenntnis mindestens der Tabellenstruktur und der Verknüpfungen nichts sagen kann. Vielleicht liest deine Board-Software (PHP?) noch eine andere Tabelle aus, die auch eingefügt/korrigiert werden müsste?

Viele Grüße
Marvin

Hallo Petra,
vorgetastet? Warum nicht einfach ein

SELECT * FROM Anzeigen WHERE …

öhm… :wink:

Du redest von phpMyAdmin?

ähm…ja

Wozu man, wie oben gesagt, ohne Kenntnis mindestens der
Tabellenstruktur und der Verknüpfungen nichts sagen kann.
Vielleicht liest deine Board-Software (PHP?) noch eine andere
Tabelle aus, die auch eingefügt/korrigiert werden müsste?

??? und da verließen se ihn dann…
Anfänger eben.

=( trotzdem danke

Hallo Petra,

??? und da verließen se ihn dann…
Anfänger eben.

Hm, möglicherweise haben wir das Ganze auch von der falschen Seite angepackt. Wer immer was in dein Board einträgt, macht das ja auch nicht per MySQL sondern mit einer gewöhnlichen Oberfläche, vielleicht sowas ähnliches wie hier bei w-w-w.
Da Du ja die Texte hast

Für das Konzert am 18.06. in…

kannst Du die nicht einfach per Copy & Paste in deine Oberfläche eintragen, so wie die normalen User das auch tun würden?
Gut, dann stimmen Verfasser und Einfügedatum wohl nicht mehr mit dem Original überein, aber ist das von Bedeutung? Es scheint sich ja um Veranstaltungshinweise zu handeln und ob die nun von Paul oder Petra eingestellt wurden, ist das wichtig?
Zur Not kannst Du ja einen Hinweis auf diese Veränderung dazufügen.
Ansonsten wäre es noch möglich deine Frage unter Nennung der Forensoftware („ich benutze phpBB…“) im Brett „Online Communitys“ nochmals zu stellen. Da gibt es dann hoffentlich jemanden, der eine Lösung für dein Problem hat.
Auf der MySQL-Ebene lässt es sich bei deinen MySQL-Kenntnissen leider nicht lösen, scheint mir.

Viele Grüße
Marvin

Hallo Marvin,

Da Du ja die Texte hast

Für das Konzert am 18.06. in…

kannst Du die nicht einfach per Copy & Paste in deine
Oberfläche eintragen

ja schon, aber es sind HUNDERTE :wink: und genau DAS wollte ich mir ersparen und dachte ich könne es eben sozusagen *einlesen*.

Ansonsten wäre es noch möglich deine Frage unter Nennung der
Forensoftware

ich nutze die Software von mybboard.de

Hallo Petra,

ja schon, aber es sind HUNDERTE :wink:

Oh je, dann ist es nichts mit copy & paste.

ich nutze die Software von mybboard.de

Na dann, wenn sich hier niemand weiter meldet, solltest Du vielleicht doch mal im Brett „Online Communitys“ nachfragen. MyBBoard hat eine Menge Plugins und viele Benutzer. Da wird wohl einer schon mal vor dem gleichen Problem gestanden haben.

Viele Grüße
Marvin