php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.12.2011, 11:28  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Datensatz in andere Tabelle kopieren

Hallo, ich hab da 2 gleiche Tabellen, die beide total identisch aussehen.
(Das eine soll ne Sicherungstabelle sein).
Nun übertrag ich mit folgendem Code die Datensätze, das funktioniert auch ganz gut:
PHP-Code:
$anf="INSERT INTO TabelleB * from TabelleA WHERE infonr=".$infonr
Das Problem dabei ist allerdings, dass natürlich auch der autoincrementwert übertragen wird, ich also in der neuen Tabelle keinen autoincrement hab sondern eben den der alten Tabelle. Wie könnt ich dass denn lösen, dass ich zwar alle anderen Daten kopiere, nicht aber den autoincrementwert?(der soll ja neu gesetzt werden)
djsky01 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.12.2011, 11:59  
Erfahrener Benutzer
 
Registriert seit: 28.01.2010
Beiträge: 615
PHP-Kenntnisse:
Fortgeschritten
tkausl ist in Verruf geraten
Standard

Wenn das eine Einmalige Sache ist kannst du in der neuen Tabelle die Zelle für den AI einfach löschen und neu erstellen, dann bekommen alle Datensätze eine neue ID zugewiesen
__________________
PS: Wenn ich einen Beitrag schreibe wo NUR [php] drin steht, dann gab es wieder ein Problem mit meinem iPhone...
tkausl ist offline   Mit Zitat antworten
Alt 18.12.2011, 12:05  
Erfahrener Benutzer
 
Registriert seit: 01.06.2011
Beiträge: 391
PHP-Kenntnisse:
Anfänger
achtelpetit befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
...nicht aber den autoincrementwert?
Indem Du die Felder auflistest, die übertragen werden sollen.
Das ganze Vorhaben scheint mir allerdings eigenartig. Wenn schon Sicherung, warum dann mit einer neuen Id? Wie willst Du denn die Datensätze bei einem Restore wiedererkennen, wenn sie eine neue Id haben?
(Ich setze voraus, daß das Autoincrement-Feld auch das Schlüsselfeld ist.)

Insgesamt bezweifle ich den Wert einer Datensicherung, die nicht physikalisch von den Originaldaten getrennt ist.
achtelpetit ist gerade online   Mit Zitat antworten
Alt 18.12.2011, 12:25  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okay, das mit dem autoincrement funktioniert nun genau so, wie ich es will.
.
hab jetzt ein anderes problem.
Mache vorher eben das erwähnte insert und frage dann gleich danach mit
$autonummer = mysql_insert_id();
die neu vergebene autonummer ab. diese liefert jedoch jedesmal den wert 0 zurück.
djsky01 ist offline   Mit Zitat antworten
Alt 18.12.2011, 12:46  
Erfahrener Benutzer
 
Registriert seit: 01.06.2011
Beiträge: 391
PHP-Kenntnisse:
Anfänger
achtelpetit befindet sich auf einem aufstrebenden Ast
Standard

Im Handbuch steht:
Zitat:
Rückgabewerte ...0 falls die vorherige Abfrage keinen AUTO_INCREMENT Wert erzeugt hatte...
Du mußt natürlich nicht auf meine Frage antworten
Zitat:
Wenn schon Sicherung, warum dann mit einer neuen Id?
aber es wär schon schön.
achtelpetit ist gerade online   Mit Zitat antworten
Alt 18.12.2011, 13:03  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ach sorry, es handelt sich nicht wirklich um eine Sicherung.
Ich versuche mich an einer Bewerber/Mitarbeiterverwaltung und da geht es darum, einen Bewerber in einen Mitarbeiter umzuwandeln.
Gibt also ne Tabelle Bewerber und ne Tabelle Mitarbeiter und wenn der Bewerber zum Mitarbeiter wird, gehört er eben in diese Tabelle kopiert.

hab das problem übrigens jetzt so gelöst:
PHP-Code:
$autonummer mysql_fetch_rowmysql_query"SELECT MAX(id) FROM mitarbeiter_aktiv")); 
Funktioniert auch.
djsky01 ist offline   Mit Zitat antworten
Alt 18.12.2011, 13:06  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Flags je Eintrag + 1 Tabelle > 2 Tabellen gleicher Eigenschaft
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 18.12.2011, 13:07  
Erfahrener Benutzer
 
Registriert seit: 01.06.2011
Beiträge: 391
PHP-Kenntnisse:
Anfänger
achtelpetit befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
einen Bewerber in einen Mitarbeiter umzuwandeln.
Das kannst Du einfacher haben. Nimm eine Tabelle "personen" und leg darin eine Spalte an, mit welcher Du der "Person" einen Status geben kannst.
Etwa so:
1 = bewerber, 2=mitarbeiter, 3=gestoben

Edit:
Zitat:
MAX(id) FROM mitarbeiter_aktiv
funktioniert nur so lange, wie ein einziger User in der DB rummacht. Das ist keine saubere Arbeit!
achtelpetit ist gerade online   Mit Zitat antworten
Alt 18.12.2011, 13:16  
Erfahrener Benutzer
 
Registriert seit: 08.10.2010
Beiträge: 200
PHP-Kenntnisse:
Anfänger
djsky01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sooo, habs zwischenzeitlich auch mit mysql_insert_id() hinbekommen.
Das Problem bei meinem Lösungsansatz ist nämlich der, wenn ich nen Datensatz lösche, ist die id ja trotzdem da, die max stimmt aber nicht, würde dann also nen falschen Wert bekommen.
An deine Lösung habe ich auch schon gedacht, nur wenn ich davon ausgehe, dass eine Firma vielleicht 10 Mitarbeiter hat und dann einen Lagerarbeiter sucht und dafür vielleicht 500 Bewerbungen reinbekommt, dann wird die Firma sehr schnell eine riesige Anzahl von Bewerbern in der Db haben, Mitarbeiter sinds aber trotzdem nur 11.(mit dem neuen).
Deshalb die Idee, dass zu trennen. Keine Ahnung ob dass dann zukünftig was bringt an performance.
djsky01 ist offline   Mit Zitat antworten
Alt 18.12.2011, 14:15  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Code:
people
id - vorname - nachname - strasse - plz - ort - email - privat - mobil - geschaeftlich

mitarbeiter
id - people_id - istGestorben

bewerber
id - people_id - istAbgelehnt
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Je nach eintrag mit andere Tabelle Joinen jackie1983 Datenbanken 5 06.05.2011 08:31
Wert aus Auswahlliste ausgewählt, gleiche Zeile / andere Spalte in Tabelle ausgeben Johnny2511 PHP Tipps 2010 8 11.09.2010 18:27
[Erledigt] Intertabellarische Berechnungen, wie? dave303 Datenbanken 13 05.03.2010 11:58
[Erledigt] Tabelle automatisch generieren scheffie PHP Tipps 2009 18 07.06.2009 16:17
Datensatz kopieren, einen Eintrag ändern und in gleiche Tabelle einfügen beta02 Datenbanken 4 28.05.2009 16:04
datenbank auf andere kopieren geht nicht! Kevin Datenbanken 1 18.08.2007 23:20
Select-Ergebnisse in andere Tabelle schreiben Tommek Datenbanken 2 26.07.2006 18:06
wert aus einer tabelle mit wert aus andere tabelle ersetzen lindner Datenbanken 3 11.07.2006 17:20
Auslesen Spalte + Andere Tabelle andrew22 PHP Tipps 2006 2 16.06.2006 10:51
Neue Emailadressen aus einer Tabelle in andere einfügen PHP Tipps 2005-2 2 17.09.2005 15:09
Datensatz kopieren Datenbanken 1 03.01.2005 11:55
DB Tabelle kopieren und anschliessend löschen test022 PHP Tipps 2004-2 15 25.11.2004 10:40
Primary Key der einen Tabelle in die andere? Paulo PHP Tipps 2004 2 04.09.2004 11:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php script kopiere aus tabelle in tabelle, auswahlliste in andere spalte kopieren, datensätze in table kopieren, werte in anderen datensatz übertragen, datensatz in neue tabelle übertragen, gleicher wert aus tabellenblatt in andere tabellen übertragen, ein datensatz in eine andere tabelle kopieren, php tabelle kopieren, php datensatz andere tabelle kopieren, datensatz in eine andere tabelle kopieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum