En SQLite que se puede ejecutar la siguiente consulta para obtener una lista de columnas en una tabla:consulta SQLite para encontrar las claves principales
PRAGMA table_info(myTable)
Esto me da las columnas pero no hay información acerca de lo que pueden ser las claves primarias. Además, se puede ejecutar las siguientes dos consultas para la búsqueda de índices y claves externas:
PRAGMA index_list(myTable)
PRAGMA foreign_key_list(myTable)
Pero me parece que no puede encontrar la manera de ver las claves primarias. ¿Alguien sabe cómo puedo hacer esto?
Nota: también sé que puedo hacer:
select * from sqlite_master where type = 'table' and name ='myTable';
Y va a dar a la sentencia de creación del cuadro que muestra las claves primarias. Pero estoy buscando una forma de hacerlo sin analizar la declaración de creación.
Ahhhhhh mierda, había hecho una suposición que no debería haber hecho en la base de datos que estaba usando. ¡Gracias por señalar esto! – Kyle
Sin embargo, no le proporciona el orden de columnas de las claves primarias compuestas. 'CREATE TABLE ReversePK ( un int NOT NULL, b int NOT NULL, PRIMARY KEY (b, a) )' –
La columna pk en el table_info no es un booleano, el valor que se da la orden de las columnas. –