SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak używać klucza obcego w sqlite?

Jak sugerował Selvin, użyj przy usuwaniu kaskadowym

http://www.sqlite.org/foreignkeys.html

Tabela1

CREATE TABLE table1 (
  id PRIMARY KEY  
 ,entry1 text,entry2 text
);

Następnie

insert into table1 values(1,"aaaa","aaaaa");
insert into table1 values(2,"bbbb","bbbbb");

Tabela2

CREATE TABLE table2(
  id int references table1(id) ON DELETE CASCADE, entryx text, constant text
);


insert into table2 values(1,"aaaa","aaaaa");
insert into table2 values(1," baaaa ","baaaaaaa");
insert into table2 values(1,"  caaaa ","caaaaaaa")
insert into table2 values(2,"bbbb","bbbbb"); 

Tabele po wejściu

sqlite> select * from table1;
id          entry1      entry2    
----------  ----------  ----------
1           aaaa        aaaaa     
2           bbbb        bbbbb     
sqlite> select * from table2;
id          entryx      constant  
----------  ----------  ----------
1           aaaa        aaaaa      
1           baaaa       baaaaaaa  
1           caaaa       caaaaaaa  
2           bbbb        bbbbb  

Usuń

sqlite> delete from table1 where id=1;

Tabele po usunięciu

sqlite> select * from table2;
id          entryx      constant  
----------  ----------  ----------
2           bbbb        bbbbb     


sqlite> select * from table1;
id          entry1      entry2    
----------  ----------  ----------
2           bbbb        bbbbb  



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy dobrą praktyką jest używanie ContentProvider do obsługi operacji na bazie danych?

  2. Jak ON CONFLICT działa w SQLite

  3. Wstawianie danych do nagrywania w sqlite

  4. Jak działa funkcja JulianDay() w SQLite

  5. Wstaw dane JSON do bazy danych SQLite w Androidzie