sql >> Databasteknik >  >> RDS >> Mysql

Kan någon förklara MySQL främmande nycklar

Detta är inte automatiskt, du måste lägga till en restriktioner för främmande nyckelcustomer_id kolumnen i order tabell. Detta kan göras när tabellen skapas eller med en ALTER-sats. Kontrollera dokumentationen för detaljer. Som andra påpekade, notera att båda tabellerna måste vara InnoDB-tabeller (restriktioner för främmande nyckel stöds inte av MyISAM-lagringsmotorn som ignorerar dem).

Med eller utan en FK-begränsning skulle frågan vara något i stil med:

SELECT * 
FROM CUSTOMER C, ORDER O
WHERE C.ID = O.CUSTOMER_ID
AND O.ID = ...

En FK-restriktion skulle "bara" garantera att CUSTOMER_ID-kolumnen i ORDER-tabellen inte kan innehålla värden som inte finns i CUSTOMER-tabellen (förutom potentiellt NULL) och därmed upprätthålla referensintegritet.



  1. Är det möjligt att infoga data i en MySQL-vy?

  2. hur man uppdaterar swap-värden för två rader med en enda fråga

  3. Topp 10 vanliga frågor om SQL Server Performance Monitoring

  4. Hur man programmatiskt skapar en ODBC-länkad tabell till en SQL Server View och får den att vara redigerbar?