2017-04-04 17 views
0

空でないセルにのみ影響を与えるTEXT列に一意の制約を作成したいとします。 (各セルは、いくつかの文字が含まれている場合にのみ、一意でなければなりません)。Sqlite:空でない場合の一意制約

私はこれを試してみましたが、それは例外を発生:

db.execSQL("CREATE TABLE tables (" + 
     "table_id INTEGER PRIMARY KEY, " + 
     "table_name TEXT, " + 
     "table_number INTEGER, " + 
     "table_alias TEXT, " + 
     "UNIQUE(table_alias) WHERE table_alias != '' ON CONFLICT IGNORE);" 

どのように私はこれを達成することができます任意のアイデアを?

答えて

1

UNIQUE列では、NULL値が異なると見なされます。 (理由は問いませんが、これはSQLのしくみです)

したがって、emtry文字列をNULLに置き換えてください。

+0

今はうまくいく、Thx! – Denis

関連する問題