SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 23.04.2013, 16:53:05
lebuek lebuek ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
AW: Einfügen von Daten in 2 Tabellen

Hallo,
also hier meine create Anweisung, die ohne Probleme ausgeführt wird:

CREATE table bestellung(
id_bestellung int(11),
nachname varchar(80),
vorname varchar(80),
strasse varchar(80),
ort varchar(100),
mail varchar(60),
telefon varchar(40),
nachricht varchar(400),
kato int(4),
kata int(4),
katb int(4),
katc int(4),
katd int(4),
datum date,
fbest_id int(4),
Primary Key (id_bestellung),
Foreign Key (fbest_id) references besteller(id_besteller)
) ENGINE=InnoDB ;

Irgendetwas muss mit der INSERT/SELECT Anweisung nicht funktionieren ...
Mit Zitat antworten
  #12  
Alt 23.04.2013, 17:00:17
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Einfügen von Daten in 2 Tabellen

Und wie sieht es mit der zweiten Tabelle aus?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #13  
Alt 23.04.2013, 17:11:31
lebuek lebuek ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
AW: Einfügen von Daten in 2 Tabellen

Dann muss ich den fk wieder löschen - sonst kann ich die Tabelle nicht löschen -
ist aber garantiert InnoDB - das steht in der Übersicht von php myadmin...
Mit Zitat antworten
  #14  
Alt 23.04.2013, 18:34:18
lebuek lebuek ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
AW: Einfügen von Daten in 2 Tabellen

Zitat:
Zitat von lebuek Beitrag anzeigen
Dann muss ich den fk wieder löschen - sonst kann ich die Tabelle nicht löschen -
ist aber garantiert InnoDB - das steht in der Übersicht von php myadmin...

Nun habe ich die Tabelle neu erstellt mit folgender Anweisung:
CREATE TABLE besteller (
id_besteller int(4),
nachname varchar(250),
vorname text (150),
ort varchar(250),
strasse varchar(250),
telefon int(50),
email varchar(50),
PRIMARY KEY (id_besteller)
)
ENGINE=InnoDB;
Mit Zitat antworten
  #15  
Alt 23.04.2013, 20:16:43
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Einfügen von Daten in 2 Tabellen

Zitat:
Zitat von Handbuch
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

Für Fremdschlüsseldefinitionen gelten folgende Bedingungen:

Beide Tabellen müssen InnoDB-Tabellen sein und dürfen keine TEMPORARY-Tabellen sein.

In der referenzierenden Tabelle muss ein Index bestehen, in dem die Fremdschlüsselspalten als erste Spalten in derselben Reihenfolge aufgeführt sind. Ein solcher Index wird automatisch auf der referenzierenden Tabelle angelegt, wenn er noch nicht existiert.

In der referenzierten Tabelle muss ein Index bestehen, in dem die referenzierten Spalten als erste Spalten in derselben Reihenfolge aufgeführt sind.

Index-Präfixe auf Fremdschlüsselspalten werden nicht unterstützt. Dies hat unter anderem zur Folge, dass BLOB- und TEXT-Spalten nicht in einen Fremdschlüssel eingebunden werden können, da Indizes auf diesen Spalten immer ein Längenpräfix haben müssen.


InnoDB weist jede INSERT- oder UPDATE-Operation zurück, die versucht, einen Fremdschlüsselwert in einer Kindtabelle anzulegen, wenn kein passender Schlüsselwert in der Elterntabelle vorhanden ist. Was InnoDB mit einer INSERT- oder UPDATE-Operation anfängt, die versucht, in der Elterntabelle einen Schlüsselwert zu ändern oder zu löschen, zu dem in der Kindtabelle passende Zeilen vorhanden sind, hängt davon ab, welche Referenzaktion in den Teilklauseln ON UPDATE und ON DELETE der FOREIGN KEY-Klausel angegeben ist. Wenn der Benutzer versucht, in der Elterntabelle eine Zeile zu ändern oder zu löschen, zu der in der Kindtabelle eine oder mehr passende Zeilen vorhanden sind, bietet InnoDB fünf mögliche Optionen:

CASCADE: Bei Löschung/Änderung einer Zeile der Elterntabelle werden automatisch die zugehörigen Zeilen der Kindtabelle auch gelöscht oder geändert. Es gibt sowohl ON DELETE CASCADE als auch ON UPDATE CASCADE. Zwischen zwei Tabellen sollten Sie bitte nicht mehrere ON UPDATE CASCADE-Klauseln definieren, die auf derselben Spalte der Eltern- oder Kindtabelle arbeiten.

SET NULL: Bei Löschung/Änderung einer Zeile der Elterntabelle werden automatisch die zugehörigen Fremdschlüsselspalten der Kindtabelle auf NULL gesetzt. Das gilt nur, wenn die Fremdschlüsselspalten nicht als NOT NULL definiert sind. Sowohl ON DELETE SET NULL als auch ON UPDATE SET NULL wird unterstützt.

NO ACTION: Im Standard-SQL bedeutet NO ACTION tatsächlich keine Aktion in dem Sinne, dass jeder Versuch, einen Primärschlüssel zu löschen oder zu ändern, unterbunden wird, wenn es dazu einen Fremschlüsselwert in der referenzierten Tabelle gibt. InnoDB weist dann die Lösch- oder Änderungsoperation auf der Elterntabelle zurück.

RESTRICT weist die Lösch- oder Änderungsoperation auf der Elterntabelle zurück. NO ACTION und RESTRICT sind dasselbe wie ein Auslassen der ON DELETE- oder ON UPDATE-Klausel. (Manche Datenbanksysteme kennen verzögerte Prüfungen (deferred checks), zu denen auch NO ACTION gehört. Da in MySQL Fremdschlüssel-Constraints jedoch sofort geprüft werden, sind NO ACTION und RESTRICT hier dasselbe.)

SET DEFAULT: Diese Aktion wird zwar vom Parser anerkannt, aber InnoDB weist Tabellendefinitionen mit ON DELETE SET DEFAULT- oder ON UPDATE SET DEFAULT-Klauseln zurück.


Wenn die CONSTRAINT symbol-Klausel verwendet wird, muss der symbol-Wert in der ganzen Datenbank einzigartig sein. Ist die Klausel nicht angegeben, erstellt InnoDB den Namen automatisch.
Da haste noch genug zu tun. ZB. auch mal an TRIGGER denken und an ROLLBACK/COMMIT bezüglich der Fehlerbehandlung.

Die Fremdschlüssel Umsetzung in MNySQL ist sehr dürftig. Da sollte man eigentlich doch mal über Postgresql nachdenken.
Mit Zitat antworten
  #16  
Alt 23.04.2013, 20:57:45
lebuek lebuek ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
AW: Einfügen von Daten in 2 Tabellen

Aha - danke!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus 5 Tabellen kombinieren -> neue Tabelle schreiben stefando MySQLi/PDO/(MySQL) 2 01.03.2012 21:26:58
Daten aus 2 Tabellen sortieren Jaecko MySQLi/PDO/(MySQL) 1 10.08.2009 16:10:47
Daten aus csv-Datei in zwei Tabellen speichern sputnik72 PHP Grundlagen 6 13.08.2007 16:12:15
daten aus 2 tabellen strubel123 PHP Grundlagen 3 25.03.2004 20:55:56
Daten aus 2 Tabellen verknüpfen (Newbie-Frage) LouCypher PHP für Fortgeschrittene und Experten 3 12.01.2003 18:55:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:12:11 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt