Sqlite:如果不为空,则为唯一约束
我想在文本列上创建一个唯一的约束,该约束只会影响非空单元格。(每个单元格必须是唯一的,当且仅当它包含一些字符时) 我试过了,但出现了一个例外:Sqlite:如果不为空,则为唯一约束,sqlite,indexing,constraints,unique,Sqlite,Indexing,Constraints,Unique,我想在文本列上创建一个唯一的约束,该约束只会影响非空单元格。(每个单元格必须是唯一的,当且仅当它包含一些字符时) 我试过了,但出现了一个例外: db.execSQL("CREATE TABLE tables (" + "table_id INTEGER PRIMARY KEY, " + "table_name TEXT, " + "table_number INTEGER, " + "table_alias TEXT, " +
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);"
知道如何实现这一点吗?在唯一的列中,空值被认为是不同的。(不要问为什么,SQL就是这样工作的。)
因此,将emtry字符串替换为NULL。在唯一的列中,NULL值被视为不同的。(不要问为什么,SQL就是这样工作的。) 因此,将emtry字符串替换为null