本文へスキップ
BecomeCoder

SQLのエラー · エラー7

datatype mismatch ― 列の型に合わない値

厳密に型をチェックする STRICT テーブルで、宣言と違う型の値を入れようとすると出ます(通常のSQLiteテーブルは型に緩いですが、STRICT を付けると厳密になります)。

出るコード

CREATE TABLE items (id INTEGER PRIMARY KEY, price INTEGER) STRICT;
INSERT INTO items (price) VALUES ('abc');   -- price は INTEGER なのに文字列

エラーメッセージ

Runtime error: datatype mismatch

直し方

列の型に合う値を入れます。数値のつもりなら 'abc' ではなく 100 のように書きます。