2009-10-14 8 views
6

Quiero saber qué campo de la tabla son necesarios o no necesarios, así que tengo que obtener el estado "Permitir nulos". ¿Como hacer eso?SQL: cómo saber si un campo tiene "Permitir nulos" marcado o no verificado por el comando SQL

+3

Qué motor de base de datos ¿Estas usando? SQL Server, MySQL, Oracle, Access, etc .... –

+0

Gracias, acabo de encontrarlo. select column_name, data_type, character_maximum_length de information_schema.columns donde table_name = 'myTable' –

Respuesta

11

Supongo que está hablando de SQL Server.

Hay una tabla, INFORMATION_SCHEMA.COLUMNS, que contiene metadatos sobre las columnas en la base de datos.

Usted puede hacer esto:

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, IS_NULLABLE 
FROM INFORMATION_SCHEMA.COLUMNS 
ORDER BY TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME 

IS_NULLABLE le da el valor "Permitir valores nulos" que se utiliza en el diseñador.

+0

+1: No sabía de esta vista, ty –

1

Si estás en MySQL utiliza el comando sql

DESCRIBE Table; 

Dónde tabla es el nombre de la tabla que desea examinar

1

Prueba esto (SQL Server)

select sysobjects.name, syscolumns.name, syscolumns.isnullable 
from sysobjects join syscolumns 
    on sysobjects.id = syscolumns.id 
    and sysobjects.xtype = 'U' 
    and sysobjects.name = 'your table name' 
+2

A partir de SQL Server 2005, debe dejar de usar "sysobjects" y comenzar a usar el vistas de catálogo adecuadas y más enfocadas en el esquema "sys", por ejemplo "sys.tables", "sys.columns" y así sucesivamente –

+0

+1: Es un gran consejo marc_s, ty –

Cuestiones relacionadas