sql >> Database teknologi >  >> RDS >> Mysql

Hvor vigtige er begrænsninger som NOT NULL og FOREIGN KEY, hvis jeg altid vil kontrollere min databaseinput med PHP?

Du deltager at lave fejl med PHP, 100% garanteret. PHP er proceduremæssigt. Det, du ønsker, er deklarative begrænsninger. Du vil fortælle hele stakken:"Dette er begrænsningerne på dataene, og disse begrænsninger kan ikke overtrædes." Du vil ikke så meget rundt med "Trin 1 ... Trin 2 ... Trin 3 ... Trin 432 ...", som din metode til at håndhæve begrænsninger på data, fordi

  • du kommer til at tage fejl
  • når du ændrer det senere, vil du glemme, hvad du gjorde nu
  • ingen andre vil kende alle disse implicitte begrænsninger, som du kender dem nu, og det inkluderer dit fremtidige selv
  • det kræver meget kode at håndhæve begrænsninger korrekt og hele tiden - databaseserveren har allerede denne kode, men er du klar til at skrive den?

Spørgsmålet burde faktisk være formuleret, "Hvorfor skulle jeg bruge PHP til at håndhæve disse begrænsninger, når jeg bare kunne gøre det med MySQL?"



  1. Tæl hyppigheden af ​​array eller jsonb-objekt

  2. mysql - vis de værdier, der findes i ALLE tabellerne

  3. Hvad er PostgreSQL-REGLER gode til?

  4. samle en række til alle rækker og returnere alle rækker