sql >> Databáze >  >> RDS >> SQLite

Jak používat cizí klíč ve sqlite?

Jak selvin navrhl použít na kaskádě mazání

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

Tabulka1

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

Potom

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

Tabulka2

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"); 

Tabulky po zadání

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  

Smazat

sqlite> delete from table1 where id=1;

Tabulky po smazání

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


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



  1. WHERE IN podmínka nepřijímá hodnotu řetězce

  2. Musí být deklarován identifikátor PLS-00201 'PACKAGENAME.PROCEDURENAME'

  3. Speciální znaky v PHP / MySQL

  4. Příklady formátování „datetimeoffset“ v SQL Server pomocí standardních formátovacích řetězců (T-SQL)