JavaEE 7をやってみよう。 SQLite/DBeaver その4
その3のつづき。
CREATE TABLE DEPT ( DEPTNO INTEGER NOT NULL, DNAME TEXT(14), LOC TEXT(13), PRIMARY KEY (DEPTNO) )
SQLの実行はCTRL + ENTERとのこと。
コミットしてもDatabase Navigaterには反映されないが、内部では正しくコミットされている。
Database Navigaterをリフレッシュするとちゃんと表示される。
最後に外部キーを追加してみる。
- 外部キーの追加
- EMP表をダブルクリックし外部キータブを開く。コンテキストメニューから「新規登録 外部キー」を選ぶ。
- 親子関係を選択
- 参照テーブルを選択。(ダイアログの上側の表) ここではDEPT表を選ぶ。
すると列(ダイアログの下側の表)に参照関係の列が自動で表示される。
列はプルダウンとなっていて候補が複数ある場合は自分で選択もできる。
削除時や更新時の動作もここで指定できる。 - 完了
- 完了ボタンを押すと外部キーが作成される。
- コミット
- 編集内容を保存すると、やはりダイアログにDDLが表示される。永続化ボタンを押して反映する。
と思ったら、エラーった。
SQLiteはAlterが使えないのか。
思わぬところで。。。*1
まぁ、他のRDBならこんな感じでOKなんだろう。
気を取り直して、次回はデータの登録と検索、削除なんかをやってみよう。
*1:SQLiteの外部キーは癖がある模様。とりあえず、Alterはダメっぽい。
sql - How do I add a foreign key to an existing sqlite (3.6.21) table? - Stack Overflow