Heim >Datenbank >MySQL-Tutorial >Welche Möglichkeiten gibt es, Fremdschlüssel in MySQL hinzuzufügen?

Welche Möglichkeiten gibt es, Fremdschlüssel in MySQL hinzuzufügen?

WBOY
WBOYnach vorne
2023-05-29 17:10:487118Durchsuche

Mehrere Möglichkeiten zum Hinzufügen von Fremdschlüsseln in MySQL

Hinweis: Das Hinzufügen von Fremdschlüsseln wird zur Slave-Tabelle (d. h. der untergeordneten Tabelle) hinzugefügt
Die übergeordnete Tabelle ist die Haupttabelle

Methode 1:

Vor dem Erstellen die Tabelle:

FOREIGN KEY (ID der untergeordneten Tabelle) REFERENCES zugehöriger Tabellenname (ID der ausländischen Master-Tabelle)

Zum Beispiel

  create table emp( 			
  	e_id int auto_increment primary key, 			
  	ename varchar(50) not null, 			
  	age int, 			job varchar(20),
  	salary int, 			
  	entrydate date, 			
  	managerid int, 			
  	dept_id int,
  	FOREIGN KEY (dept_id) REFERENCES dept(id) 	
  );

Methode 2:

Nach dem Erstellen der Tabelle hinzufügen:

ALTER TABLE Table 1 ADD AUSLÄNDISCHER SCHLÜSSEL (aus der Tabelle Fremdschlüssel) REFERENZEN dept (Primärschlüssel der Haupttabelle);

 例如:
 		ALTER TABLE emp ADD FOREIGN KEY (dep_id) REFERENCES dept(id);

Hinweis:

Die Haupttabelle (dept) existiert in der Slave-Tabelle (emp), und die Slave-Tabelle verweist auf die Fremdschlüssel und kann nicht direkt gelöscht werden (Haupttabelle). relevanten Fremdschlüsseleinschränkungen), bevor Sie die Mastertabelle löschen können.

Bei den oben genannten Fremdschlüsseln handelt es sich ausschließlich um physische Fremdschlüssel, bei denen es sich um Referenzen auf Datenbankebene handelt und deren Verwendung den Grad der Datenkopplung erheblich erhöht.


Primärschlüssel:

Er kann nicht dupliziert werden und darf nicht leer sein.

Fremdschlüssel:

ist der Primärschlüssel Schlüssel einer anderen Tabelle können Duplikate oder Nullwerte haben und werden verwendet, um Beziehungen zu anderen Tabellen herzustellen. Wenn wir also über Fremdschlüssel sprechen, müssen mindestens zwei Tabellen beteiligt sein.

Hinweis:

1. Das Fremdschlüsselfeld sollte beim Erstellen genau den gleichen Typ wie die Haupttabelle haben, andernfalls wird beim Erstellen des Fremdschlüssels ein Fehler gemeldet 2. Die Fremdschlüsseltabelle kann keine Daten einfügen, die nicht in der Haupttabelle vorhanden sind (die Daten beziehen sich auf die Daten mit dem Primärschlüssel der Haupttabelle oder dem Fremdschlüssel der Sekundärtabelle). –Wenn die Abteilungsnummer beispielsweise nur 1, 2, 3, 4 ist und der Fremdschlüsselwert 5 ist, tritt beim Einfügen von Daten aus der Tabelle ein Fehler auf

– , wurden die Fremdschlüsseleinschränkungen der zugehörigen Fremdschlüsseltabelle automatisch geändert.

Der Unterschied zwischen dem Hinzufügen von Einschränkungen und dem Nicht-Hinzufügen von Einschränkungen

Wenn keine Einschränkungen hinzugefügt werden, generiert das System automatisch Namen für sie, die schwer zu merken sein können. Durch das Hinzufügen von Einschränkungen können Sie die Einschränkungen entsprechend Ihren eigenen Absichten benennen.

Hinzugefügt: MySQL-Fremdschlüssellöschvorgang

1 Zeigt den zu löschenden Fremdschlüssel an. show create table table name;

2 Siehe die Einschränkungen;

Welche Möglichkeiten gibt es, Fremdschlüssel in MySQL hinzuzufügen?3. Eine Möglichkeit, es umzuschreiben, ist: Verwenden Sie den Befehl alter table, um Fremdschlüsseleinschränkungen in der Tabelle zu löschen. Die Syntax lautet wie folgt: ALTER TABLE Tabellenname DROP FOREIGN KEY Einschränkungsname;

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Fremdschlüssel in MySQL hinzuzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen