SQLite CHECK 制約に問題があります。
SQLite は、挿入された値が特定の型 (整数など) であるかどうかをチェックしません。
だから私は「typeof」機能を使って「CHECK」制約でこれをチェックしたい。
しかし、次のクエリを実行すると、エラーは発生せず、SQLite はメッセージなしで文字列を挿入します。
どうしたの?
sqlite> CREATE TABLE test2 (test INTEGER CHECK(TYPEOF(test) == 'INTEGER'));
sqlite> INSERT INTO test2 (test) VALUES (5); //Should work
sqlite> INSERT INTO test2 (test) VALUES ('dd'); //Should not work, but works