sql >> Databasteknik >  >> RDS >> Mysql

Hur viktiga är begränsningar som NOT NULL och FOREIGN KEY om jag alltid ska kontrollera min databasinmatning med PHP?

Du åker att göra misstag med PHP, 100% garanterat. PHP är processuellt. Vad du vill ha är deklarativa begränsningar. Du vill säga till hela stacken:"Dessa är begränsningarna för data, och dessa begränsningar kan inte överträdas." Du vill inte gå för mycket med "Steg 1 ... Steg 2 ... Steg 3 ... Steg 432 ...", som din metod för att upprätthålla begränsningar på data, eftersom

  • du kommer att få fel
  • när du ändrar det senare kommer du att glömma vad du gjorde nu
  • ingen annan kommer att känna till alla dessa implicita begränsningar som du känner dem nu, och det inkluderar ditt framtida jag
  • det krävs mycket kod för att upprätthålla begränsningar på rätt sätt och hela tiden - databasservern har redan den här koden, men är du beredd att skriva den?

Frågan borde egentligen formuleras, "Varför ska jag använda PHP för att upprätthålla dessa begränsningar, när jag bara kunde göra det med MySQL?"



  1. Spring JDBC-mall- Hur man hämtar flera resultat med flera parametrar med en enda fråga

  2. Konvertera helt enkelt från mysql till mysqli

  3. Det går inte att installera MySQL på Mac OS X

  4. C# med Asp.net MySQL med OBDC gör att inloggning och registrering inte fungerar