Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung PHP

Primärschlüssel beim erstellen in 2. Tabelle speichern

Mitglied: tmace85

tmace85 (Level 1) - Jetzt verbinden

03.12.2006, aktualisiert 04.12.2006, 4522 Aufrufe, 6 Kommentare

Hi Leutz, habe da ein Problem. Will beim erstellen eines Datensatzes in einer Tabelle den gerade erstellten Primärschlüssel in eine weitere Tabelle speichern. Also es wird in 2 Datenbanken geschrieben. Die eine Enthält nur die schlüssel, für die später Abfrage. Und da will ich den Schlüßel der gerade erstellt wurde gleichzeitig in die andere Tabelle speichern. Kennt ihr da eine Möglichkeit?

Danke für eure Hilfe.

MFG Tmace85
Mitglied: Biber
03.12.2006 um 19:31 Uhr
Moin tmace85,

ich weiß nicht genau, wo das Problem dabei liegt.
Zwei neue Sätze in zwei verschiedenen Tabellen bedeuten auch zwei INSERT-Statements.
Geht nicht anders.
Falls das Problem darin besteht, dass Du den Wert in der "Haupt"-Tabelle nicht kennst, weil das ein automatisch generierter Kunstschlüssel ist ("Auto-Wert" oder "Autoincrement" oder so etwas), dann wäre gibt es je nach verwendeter DB drei oder vier Strategien, dieses Value wieder verwenden.
Wenn man/frau die Schnörkel weglässt, läuft es auf ein erneutes SELECT heraus (geht bei jeder DB).
RDBMSe wie Oracle oder DB2 erlauben auch das Auslesen des "Schlüssels, der als nächstes angelegt werden würde".

Deshalb also erst die Rückfrage:
a) Geht es denn um so einen künstlichen Schlüssel?
b) Was für eine DB liegt denn drunter?

Gruß
Biber
Bitte warten ..
Mitglied: tmace85
03.12.2006 um 19:35 Uhr
Danke erstmal für die schnelle antwort. Es geht um einen Künstlichen Schlüssel der in beim erstellen des datensatzes in 2 tabellen geschrieben werden soll. Also er wird ja einmal automatisch erstellt und dieser soll gleichzeitig auch noch in eine andere Tabelle als fremdschlüssel(ist schon deklariert) geschreiben werden, mit den anderen daten die in die zweite tabelle geschrieben werden. Kann ich den nicht irgendwie abfangen oder so?
Bitte warten ..
Mitglied: Biber
03.12.2006 um 19:47 Uhr
Nein, kannst Du nicht... Du musst ihn schon mit SELECT wieder auslesen.

Die übliche Mimik ist schon, beim Anlegen des neuen Satzes in der "Haupt"-Tabelle auch ein/zwei Felder "CreatedTS"/"UserID" mit anzulegen, die eben den TimeStamp der Neuanlage enthalten. Und die UserID wegen der Nachvollziehbarkeit.

Dann kannst Du nach dem INSERT ein "SELECT Max(CreatedTS), myID FROM tabelle" abfeuern.
Wenn der angelegte neue Kunstschlüssel aber auch immer gleichzeitig der höchste Schlüssel ist (bei diesen Billig-Autoincrement-Feldern ist das so), dann kannst Du darauf verzichten.
Dann ist ja Max(myID) der neue Schlüssel.

Gruß
Biber
Bitte warten ..
Mitglied: tmace85
03.12.2006 um 19:58 Uhr
Habs jetzt auch. Bin voll der Trottel gewesen. Ist so simpel. Trotzdem Danke für deine Hilfe und nen schönen Rest Sonntag noch
Bitte warten ..
Mitglied: Biber
04.12.2006 um 07:10 Uhr
Danke, tmace85,

den schönen Sonntag hatte ich (und Werder ist auch immer noch Tabellenerster).

Wenn Du jetzt noch so einen kleinen grünen Haken dranpappst an Deinen Beitrag, könnte es auch ein schöner Montag werden...

Grüße
Biber
Bitte warten ..
Mitglied: Biber
04.12.2006 um 19:43 Uhr
Moin tmace85,

auch wenn Du nun schon eine Lösung hast...
Falls Du mit mySQL rumeierst (was bei einer Frage im Bereich PHP nicht weit hergeholt ist): da gibt es auch so ein lustiges Special:

01.
<? 
02.
printf("ID des zuletzt eingefügten Satzes: %d\n", mysql_insert_id()); 
03.
?>
Siehe z.B hier:[ http://uk.php.net/manual/en/function.mysql-insert-id.php Function mysql-insert-id() ]

Na ja, wenn es das schon gibt, könnte man/frau auch das nehmen...

BTW: Wenn es sich nicht auf eine bestimmte Datenbank bezieht, sondern eher eine allgemeine Strategieüberlegung ist, dann sollten wir diese Frage nach "Datenbanken" verschieben.

Unter PHP sucht das jedenfalls niemand.
Gruß
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Server
Anmeldeskripte in Excel-Tabelle speichern
gelöst Frage von MorpheussuhlWindows Server2 Kommentare

Hallo liebes Forum, ich habe ein kleineres Problem und hoffe auf eine schnelle antwort. Und zwar habe ich in ...

Datenbanken
Primärschlüssel per VBA übergeben
gelöst Frage von thomas1972Datenbanken3 Kommentare

Hallo, ich versuche eine SQL Tabelle per VBa zu verbinden, soweit so gut, nur bekomme ich es nicht hin ...

VB for Applications
Exceltabelle mit anderen 2 tabellen vergleichen
gelöst Frage von 123660VB for Applications12 Kommentare

Hallo zusammen! Ich stehe vor folgendem Problem und bräuchte wieder eure Hilfe. In Excel 2010 muss ich Tabelle 1 ...

Datenbanken
SQL Abfrage: Ergebniss aus einer Tabelle mit Bedigung aus einer 2. Tabelle
gelöst Frage von holiboliDatenbanken4 Kommentare

Ausgangslage: Tabellen Auf.Texte Auf_Dokumente Inhalt (den ich brauche): Auf_Texte: AUF_Texte.Z_Dokumenttyp AUF_Texte.SprachePRO AUF_Texte.Z_Unser_Zeichen AUF_Texte.TextfeldRTF (Nur dieses sollte am schluss angezeigt ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...