La question a été répondue, cependant, puisque vous êtes à la recherche de compréhension ...
L'idée des bases de données est que toutes ces limites et ces contraintes sur les données sont placées dans la base de données elle-même (comme autonome unité). Les contraintes de données doivent figurer dans la base de données, et pas seulement dans l'application. ISO/IEC/ANSI SQL offrent plusieurs types de contraintes, à des fins différentes:
Contraintes FOREIGN KEY, pour l'intégrité référentielle (ainsi que les performances, la conformité architecture ouverte, etc.)
Les contraintes de vérification, pour vérifier par rapport aux valeurs de données d'autres colonnes et de prohiber les violations
Contraintes de règles, de désavouer des données qui est hors de portée ou spécifier les formats de valeur de données exactes
Le vôtre est une RÈGLE simple simple ou un CHECK. Et la réponse correcte pour la base de données et la conception de base de données est une règle ou une vérification, pas de code. Cela ne veut pas dire que l'application ne devrait pas vérifier le nombre, et éviter de tenter une action invalide. C'est juste du bon sens. Et ce n'est pas une répétition, c'est l'arrêt des actions invalides à un niveau supérieur, ce qui économise l'utilisation des ressources. Et les données dans le Db ne peuvent pas être invoquées, si l'intégrité est gérée à l'extérieur, dans le code de l'application, écrit par les développeurs. Les règles implémentées dans le serveur peuvent être utilisées, elles sont appliquées pour toutes les applications ou composants d'application.
Mais les freeware non-SQL ne possèdent pas les bases de Standard-SQL. Pas de chèques ou de règles. Par conséquent, l'intégrité des données dans la «base de données» repose uniquement sur le développeur: leur qualité, connaissance, cohérence, etc.
Et la bonne réponse pour MyNonSQL/PHP est le code. Dans chaque endroit qui tente cet insert.
merci pour les informations supplémentaires. Comprendre les différents niveaux d'intégrité des données est important. – swisscheese