Android Sugar ORM中的独特列

Android Sugar ORM中的独特列,android,android-sqlite,sugarorm,Android,Android Sqlite,Sugarorm,是否可以创建与Sugar ORM唯一的列?或者可以插入或替换指定的行,比如用户名,但是该用户名可能不在db中,因为它可能尚未创建。官方版本1.3中尚不支持该用户名。但是您可以使用此功能的最新源代码 可以使用@Unique annotation指定唯一约束。当前的默认行为是在冲突时替换。因此,如果违反了unique约束,它将替换现有行。正如Satya所说,最新稳定版本中没有官方注释,但您可以将@unique注释用于最新的预发布版本。我不知道该注释的作用,但我尝试了它,发现我应该检查数据库是否有相同

是否可以创建与Sugar ORM唯一的列?或者可以插入或替换指定的行,比如用户名,但是该用户名可能不在db中,因为它可能尚未创建。

官方版本1.3中尚不支持该用户名。但是您可以使用此功能的最新源代码


可以使用@Unique annotation指定唯一约束。当前的默认行为是在冲突时替换。因此,如果违反了unique约束,它将替换现有行。

正如Satya所说,最新稳定版本中没有官方注释,但您可以将
@unique
注释用于最新的预发布版本。我不知道该注释的作用,但我尝试了它,发现我应该检查数据库是否有相同的结果,以及返回的列表是否为空,以便数据是唯一的。这里有一个例子:

if (Contacts.find(Contacts.class, "phone_number = ?", phoneNumber.getText().toString())
                .isEmpty()) {
            new Contacts(fullName.getText().toString(),
                    phoneNumber.getText().toString(),
                    picture.toString()).save();
            startActivity(new Intent(this, MainActivity.class));
        } else {
            Toast.makeText(this, "Already exists!", Toast.LENGTH_LONG).show();
        }

是的,您可以在db类上使用@Unique注释


com.github.satyan:sugar:1.4

请将此添加到gradleHello@Satya中,是SugarOrm 1.3.1支持“@Unique”,我在上使用编译'com.github.satyan:sugar:1.3.1'gradle@Satya非常有趣!是否有可能对违反的约束设置其他行为?如果我们想使一对列唯一,如用户名和用户电话号码一起唯一,即它们可以重复相同的值,但不能在这对列中重复。如何从列中删除
unique
约束。我想在列中保存重复的数据。获取以下错误:
code 1555 SQLITE\u CONSTRAINT\u PRIMARYKEY