MySQLで条件に一致するレコードがなければ新規登録、あれば何もしない

INSERT構文にIGNOREキーワードを使用する IGNOREキーワードを使用すると UNIQUEインデックスまたはPRIMARY KEY値を複製にする行よって重複エラーが発生したとき、ステートメントは中止される。 重 …

Continue reading ‘MySQLで条件に一致するレコードがなければ新規登録、あれば何もしない’ »

SQLのCOUNT(*)とCOUNT(列名)では結果が異なる

NULLを含むとき、COUNT(*)とCOUNT(列名)では結果が異なります。 Col1 10 (NULL) 50 (NULL) 40 このようなTBL1テーブルを例にします。 COUNT(*)はNULL …

Continue reading ‘SQLのCOUNT(*)とCOUNT(列名)では結果が異なる’ »

SQLiteで複数の行を1行のINSERT文でまとめて追加する

SQLite(バージョン 3.7.11以降)では、次のようにして複数のデータを1行のINSERT文でまとめてINSERT文で追加することができます。 insert into t1 (f1, f2, f3) values …

Continue reading ‘SQLiteで複数の行を1行のINSERT文でまとめて追加する’ »

FirebirdのINSERT文で追加されたIDを取得するには

Firebird 2.0以降では、INSERT文にRETURNING句を加えることで、追加されたIDを取得できます。 INSERT INTO t1 (id, …) VALUES (next value for gen …

Continue reading ‘FirebirdのINSERT文で追加されたIDを取得するには’ »