Estoy usando SQLite, y tengo una tabla para las propiedades y una tabla para las subpropiedades. Cada sub-propiedad apunta a su padre utilizando la columna fkPropertyId. En este momento, para crear la base de datos inicial, tengo un script que se ve algo como esto:¿Cómo puedo acceder a la última identificación de fila insertada dentro de una secuencia de comandos SQL?
INSERT INTO property VALUES(1,.....);
INSERT INTO property VALUES(2,.....);
INSERT INTO property VALUES(3,.....);
INSERT INTO subproperty VALUES(1,.....,3);
INSERT INTO subproperty VALUES(2,.....,3);
INSERT INTO subproperty VALUES(3,.....,3);
INSERT INTO property VALUES(4,.....);
Ahora, yo quiero para deshacerse de la rowid no modificable, por lo que sería algo así como:
INSERT INTO property VALUES(NULL,.....);
INSERT INTO property VALUES(NULL,.....);
INSERT INTO property VALUES(NULL,.....);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO property VALUES(NULL,.....);
Cuando x se refiere a la última rowid insertado en la tabla de propiedades. En este momento, eso es
(SELECT MAX(rowId) FROM property)
¿Hay alguna forma mejor (y más precisa técnicamente) de escribir este script?
¿Cómo puedo mantener ese valor para tres inserciones consecutivas? –
Simplemente inserte la fila de propiedad primero, luego la subpropiedad. Si necesita recordar el ID de propiedad para más de un inserto, asígnelo a una variable antes de hacer las inserciones de subpropiedad. –
mi problema es que este es un script sqlite y, hasta donde yo sé, sqlite no admite variables de usuario en scripts –