Layoutprobleme? - Styleswitcher!
![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Sven Schmalle Registriert seit: 18.08.2005 Ort: Bremen
Beiträge: 143
| Hätte nie gedacht das das so ein Problem ist. Ich möchte einfach nur einen Datensatz in einer Mysql Tabelle kopieren. Dies möchte ich direkt in Mysql machen, da es über PHP etwas aufwendiger ist. Die Tabelle hat über 60 Felder... Code: INSERT INTO shipment (*) SELECT * FROM shipment WHERE id=102 Einfach einen neuen Datensatz anlegen mit dem gewünschten alten Datensatz als Inhalt. Das Problem dabei ist nur, das id ein auto_inc Feld ist. Beim ausführen kommt dann logischerweise der Fehler, das die ID dann doppelt vergeben werden würde (ist ja auch eine Kopie des alten Datensatzes). Eigentlich müsste ich jetzt nur wissen, wie man dem sagen kann, das er die id des alten Datensatzes nicht beachten soll und einfach neu vergibt. Den Datensatz in eine "temporäre Tabelle" zwischen zu speichern, wäre eine Möglichkeit dieses Problem zu umgehen, allerdings ändert sich die Struktur der Tabelle sehr oft, dann müssten die Änderungen an der Struktur der temporären Tabelle auch geändert werden, was wiederum Aufwand und Fehlerquellen bedeutet :/ System ist ein Debian Mysql Version ist (leider) 4.0.20 Danke für Antworten Geändert von Sclot (05.03.2008 um 11:15 Uhr). |
| | |
| | Nach oben #2 |
| Martin Eisengardt Registriert seit: 30.03.2006 Ort: Pfinztal
Beiträge: 353
| Das Select * ist dann das Problem, denn eigentlich müsstest du das Auto_Inc_feld mit Null füllen. Also angenommen es ist das erste Feld der Tabelle, dann etwa so: Code: INSERT INTO ... SELECT NULL, SpalteA, SpalteB, SpalteC...
__________________ Open Sourcing the Online Gaming Universe PHP/SQL/Java/C++/Assembler. Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html |
| | |
| | Nach oben #3 |
| Sven Schmalle Registriert seit: 18.08.2005 Ort: Bremen
Beiträge: 143
| Das wäre in der tat ein möglicher Lösungsansatz. Werd ich mal versuchen, danke |
| | |
| | Nach oben #4 |
| Sven Schmalle Registriert seit: 18.08.2005 Ort: Bremen
Beiträge: 143
| So... Ich war mal so frei und hab da eine kleine Funktion draus gebaut: PHP-Code: PHP-Code: Für meine Tabelle sind das dann jetzt 0.0037620068 Sekunden, die das Script länger zum werkeln braucht. In meinem Fall würde die Anwendung der Funktion jetzt wie folgt aussehen: PHP-Code: Danke nochmal für DIESEN Lösungsansatz. Geändert von Sclot (05.03.2008 um 11:51 Uhr). |
| | |
| | Nach oben #5 |
| Martin Eisengardt Registriert seit: 30.03.2006 Ort: Pfinztal
Beiträge: 353
| Ist nicht ganz ideal, wenn ID nicht die erste Spalte ist oder sie anders heisst, aber im Normalfall ist sie das und dann klappts auch. Vielleicht noch: INSERT INTO shipment (ID, $spalten) SELECT usw.
__________________ Open Sourcing the Online Gaming Universe PHP/SQL/Java/C++/Assembler. Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html |
| | |
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| WinXP: Kopieren mit Markieren und Mausrad | think | Gesuche | 1 | 22.07.2007 14:37 |
| SQL Abfrage klappt nicht mit mehr als einem Datensatz | Jan | PHP-Programmierung | 11 | 29.03.2007 20:05 |
| Datensatz löschen | andy74 | Datenbanken | 40 | 17.01.2006 13:55 |
| Überprüfen ob Datensatz vorhanden | Quakes | Datenbanken | 2 | 25.03.2005 13:24 |
| 2Dimensionales Array, 2mal denselben Datensatz | zonk | Allgemeine Java-Programmierung | 1 | 20.10.2004 07:02 |
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:38 Uhr.
Nach oben






