Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Quão importantes são restrições como NOT NULL e FOREIGN KEY se eu sempre controlar minha entrada de banco de dados com PHP?


Você está indo cometer erros com PHP, 100% garantido. PHP é processual. O que você quer são restrições declarativas. Você quer dizer a toda a pilha:"Estas são as restrições dos dados e essas restrições não podem ser violadas". Você não quer muito por aí com "Etapa 1 ... Etapa 2 ... Etapa 3 ... Etapa 432 ...", como seu método de impor restrições aos dados, porque
  • você vai errar
  • quando você alterar mais tarde, esquecerá o que fez agora
  • ninguém mais conhecerá todas essas restrições implícitas como você as conhece agora, e isso inclui seu eu futuro
  • é preciso muito código para aplicar restrições corretamente e o tempo todo - o servidor de banco de dados já tem esse código, mas você está preparado para escrevê-lo?

A pergunta deveria ser formulada:"Por que eu deveria usar o PHP para impor essas restrições, quando eu poderia fazer isso apenas com o MySQL?"