SQL 既存のテーブルからUnique Keyを外す(SQlite, javascript) SQliteではAlterTableでさっくりUnique Constraintを外す、ということはできません。AlterTableの機能が限られているため、制約を外す場合は基本的にテーブルを作り直します。 具体的にはRENAME ... 2021.01.19 SQL
SQL sqliteで外部テーブルのパラメーターから複数行をまとめて削除する(sqlite/ javascript) テーブル同士をjoinした先のカラムを条件にデータを削除する際のやり方です。sql server っぽい書き方したら通らなかったので覚書きです。 sqliteで通らなかった書き方がこちら。 DELETE table1 FRO... 2020.12.29 SQL
SQL 1クエリで外部キーを取得しつつレコードを保存する(sqlite/js) Booksテーブル(id, title, author_id)とAuthorsテーブル(id, name)があるとして、本のタイトルと著者名の2つのデータをもってBooksテーブルにInsertしたいとします。 Booksテーブルで... 2020.12.27 SQL
SQL 1対多で紐付くデータをArrayで返したい。(sqlite) 1つの本に対して複数のタグが付くようなデータベースを考えます。Books(id, title), Book_Tag(book_id, tag_id), Tags(id, name)というようなテーブル構造になっていて(いわゆるToxi法)... 2020.11.16 SQL
JavaScript sqlite3にbind parameterを利用する(javascript) クエリのパラメーターに'?'を利用して書いてる例が多いのですが、個人的には並び順に気を使わなくてはいけないこととパラメータが何かが明示的でないためにミスしやすいので使わないようにしています。 一般的にはparameterに名前を付け... 2020.10.25 JavaScriptSQL
JavaScript sqliteで同期的に複数行を操作する(node.js) javascriptもsqliteも非同期で動作するのが標準のため、同期的に書くのに割と苦労しました。複数行をInsert後にselect * で取得しても中途半端な結果が返ってきたり、コールバックでうまく処理したつもりでもDBで処理中の... 2020.09.29 JavaScript
JavaScript sqlite3 db.each, all, get (javascript) db.eachはデータを1つ取得するごとにコールバックが呼ばれる。メリットは取得する全データをまとめてメモリ上に乗せないため、大きなデータを扱い際に向く。 db.allは全てのデータが揃ったあとにコールバックが呼ばれる。 db... 2020.09.15 JavaScript