Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Duplizieren eines ganzen Datensatzes mit SQL

[color="tomato"]

Hallo

Wie kann ich einen ganzen Datensatz mit MYSQL duplizieren? Gibt es hierfür einen Befehl?
Damit der richtige Datensatz dupliziert werden kann, benötige ich eine Bedingung.

Könnt ihr mir weiterhelfen?

Gruss

[/color]

Hier gehts zum Orginal Eintrag "Duplizieren eines ganzen Datensatzes mit SQL" im Forum

Antworten

Es gibt
INSERT ... INTO ... SELECT ...


2.

[color="red"]Der Datensatz ist ziemlich lang. Jedes mal so viel eingeben bring auch nicht viel. Gibt es keine Duplicate-Befehl oder so etwas? [/color]


3.

Was denkst Du was der Befehl macht? Vielleicht hättest DU den im MySQL Handbuch nachschlagen sollen.


4.

Hör zu Admin:

In meiner DB werden ständig neue Einträge vorgenommen. Ich selektiere anschliessend diejenigen Datensätze, welche im Monat-Feld mit "MAI" bezeichnet sind. Kannst du mir nicht einen Tippgeben, wie man für jeden dieser Datensätze eine einfache Kopie macht, ohne dass man 1000 mal einen Insert Into Befehl machen muss?

Wie kann man die Anzahl der aktuellen Datensätze mit der MAI-Bedingung counten?

Gruss und danke für deine Bemühungen.


5.

Habe folgendes Rausgefunden:

mysql_query("INSERT INTO tab1 (Buch_id, Monat) SELECT Buch_id, Monat FROM tab1 WHERE Monat='$Mai';");

weder eine Fehlermeldung, noch eine Änderung wird gemacht.

mit $sql_copy->query(INSERT INTO .................);

bekomme ich die Meldung: Call to a member function on a non-object

Könnt ihr mir weiterhelfen?


6.

Da gibt es das Objekt $sql_copy nicht, sprich, es wird vorher nicht erzeugt.

Ich würde an deiner Stelle mal mysql_error einsetzen, um zu erfahren, ob MySQL doch einen Fehler beim Insert hatte.

*** Nobody ***


7.

der Fehler ist:

Not unique table/alias: 'tab1'

Unique bedeutet ja, dass ein Wert nicht zweimal vorkommen darf.
Ich möchte aber eine völlige Kopie haben.

Was muss ich ändern? muss ich die ID-Spalte, welche ein Auto_Increment ist, löschen?`

Gruss


8.

ich habe ein kleines Problem...wenn ich es so schreibe:

Code:                   In Zwischenablage kopieren (nur IE)
1">

dann kommt zwar keine Fehlermeldung, doch es schreibt nicht in die tabelle!???


9.

wie auch, du führst die query $sql2 nicht aus!

Edit:
Statt das ganze manuell zu machen kannst du es auch in einem Statement machen (MYSQL >=4.1 vorausgesetzt) :
Code:                   In Zwischenablage kopieren (nur IE)
2">




10.

[quote]BenniG. postete
wie auch, du führst die query $sql2 nicht aus!

Edit:
Statt das ganze manuell zu machen kannst du es auch in einem Statement machen (MYSQL >=4.1 vorausgesetzt) :
Code:                   In Zwischenablage kopieren (nur IE)
3">

[/quote] ich hab leider nur die 4.0 version....jetzt hab ichs so gemacht und es funktioniert immer noch nicht!

Code:                   In Zwischenablage kopieren (nur IE)
4">

kannst du mir helfen??


11.

Gibts Fehlermeldungen?
An den Scriptanfang mal schreiben:
Code:                   In Zwischenablage kopieren (nur IE)
5">

den SQL-Befehl mal ausgeben lassen


12.

hab ich auch schon im script!!! es zeigt mir keine Fehler an....

also das ist das ganze script:

Code:                   In Zwischenablage kopieren (nur IE)
6">




13.

Dann gibt es wohl keine berechtigungen mit der berechtigungen_seite_id=0 oder du übergibst nicht 0 in ParendID


14.

es muss gehen, da ich einen print und einen test echo gemacht habe...und hat was ausgegeben!


15.

Zitat:
es muss gehen, da ich einen print und einen test echo gemacht habe...und hat was ausgegeben!
Und woher soll ich das wissen?
Wenn kein Fehler ausgegeben wird und du wirklich die(mysql_error()) benutzt hast, dann muss es auch in der Datenbank stehen.


Hier gehts zum Orginal Eintrag "Duplizieren eines ganzen Datensatzes mit SQL" im Forum
 
phpforum.de | Impressum | Handy Bundles