sql >> データベース >  >> RDS >> SQLite

sqliteで外部キーを使用する方法は?

    セルビンが削除カスケードでの使用を提案したように

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

    表1

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

    次に

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

    表2

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

    入力後のテーブル

    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  
    

    削除

    sqlite> delete from table1 where id=1;
    

    削除後のテーブル

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



    1. SQLで列を削除する方法

    2. SQLでソートする方法

    3. OracleのSEQUENCE.NEXTVALに相当するMySQL

    4. サーバーとの接続は正常に確立されましたが、ログイン前のハンドシェイク中にエラーが発生しました