Lorsque vous travaillez avec des bases de données, il est souvent utile de savoir quelles colonnes de vos tables autorisent les valeurs NULL et lesquelles ne le permettent pas. Vous pouvez facilement récupérer ces informations à l'aide de requêtes SQL sur le schéma d'information de votre base de données. Ci-dessous, je vais vous montrer comment procéder pour MySQL et PostgreSQL.
Pour obtenir une liste de colonnes et leurs contraintes NULL pour une table spécifique dans MySQL, vous pouvez interroger la table INFORMATION_SCHEMA.COLUMNS. Voici la requête que vous pouvez utiliser :
SELECT COLUMN_NAME AS 'Column Name', IS_NULLABLE AS 'Is Nullable' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name' ORDER BY ORDINAL_POSITION;
Explication :
De même, dans PostgreSQL, vous pouvez interroger la table information_schema.columns pour récupérer ces informations. Voici la requête équivalente :
SELECT column_name AS "Column Name", is_nullable AS "Is Nullable" FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'your_table_name' ORDER BY ordinal_position;
Explication :
Supposons que vous ayez une table nommée users dans une base de données nommée my_database. Voici comment interroger les contraintes :
SELECT COLUMN_NAME AS 'Column Name', IS_NULLABLE AS 'Is Nullable' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'users' ORDER BY ORDINAL_POSITION;
SELECT column_name AS "Column Name", is_nullable AS "Is Nullable" FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'users' ORDER BY ordinal_position;
Column Name | Is Nullable |
---|---|
id | NO |
name | NO |
YES | |
created_at | NO |
updated_at | YES |
À l'aide de ces requêtes, vous pouvez facilement vérifier les contraintes NULL de vos colonnes de table, vous aidant ainsi à mieux comprendre le schéma et les exigences en matière de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!