sql >> Base de Datos >  >> RDS >> Mysql

¿Qué tan importantes son las restricciones como NOT NULL y FOREIGN KEY si siempre controlaré la entrada de mi base de datos con PHP?

Vas a ir cometer errores con PHP, 100% garantizado. PHP es procedimental. Lo que quieres son restricciones declarativas. Desea decirle a toda la pila:"Estas son las restricciones sobre los datos, y estas restricciones no se pueden violar". No querrás dar muchas vueltas con "Paso 1... Paso 2... Paso 3... Paso 432...", como tu método para hacer cumplir las restricciones en los datos, porque

  • te vas a equivocar
  • cuando lo cambies más tarde, olvidarás lo que hiciste ahora
  • nadie más conocerá todas estas restricciones implícitas como tú las conoces ahora, y eso incluye tu yo futuro
  • se necesita mucho código para hacer cumplir las restricciones correctamente y todo el tiempo:el servidor de la base de datos ya tiene este código, pero ¿está preparado para escribirlo?

La pregunta en realidad debería estar redactada, "¿Por qué debería usar PHP para hacer cumplir estas restricciones, cuando podría hacerlo simplemente con MySQL?"