紛らわしい選択を取得しています...結果、テーブル定義は次のとおりです。
CREATE TABLE modes (
key INTEGER,
mode INTEGER,
channel INTEGER,
name TEXT,
short_name TEXT,
def INTEGER,
highlight INTEGER,
catagory TEXT,
subcatagory TEXT);
次の情報が入力されています。
sqlite> select * from modes;
3|6|5|Green|G|0|255|a|b
3|6|6|Blue|B|0|255|a|b
3|9|1|Mode|Mode|0|255|a|b
3|9|2|Auto Mode Speed|Speed|0|255|a|b
3|9|3|Strobe|Strobe|0|255|a|b
3|9|4|Red|R|0|255|a|b
3|9|5|Green|G|0|255|a|b
3|9|6|Blue|B|0|255|a|b
3|9|7|Red2|R2|0|255|a|b
3|9|8|Green2|G2|0|255|a|b
3|9|9|Blue2|B2|0|255|a|b
3|6|4|Red|R|0|255|a|b
3|6|1|6|6|0|255|a|b
3|6|2|Auto mode speed|speed|0|255|a|b
3|6|3|Strobe|Strobe|0|255|strobe|b
下から 3 番目の行に注意してください: 3|6|1|6|6|0|255|a|b
私が選択した場合:
SELECT * FROM modes where mode=6 and name="Mode" order by channel;
戻り値:
3|6|1|6|6|0|255|a|b
列 4 と 5 (name と short_name) は一致しないはずです。これらは 6 であり、一致する用語は「モード」です。一致文字列「Mode」を他の文字列に変更すると、期待どおりに機能します。「モード」は予約語ですか?または変数「Mode」を 6 に設定しましたか? この振る舞いがわかりません。