gpt4 book ai didi

android - 在两列上创建 UNIQUE 约束(仅当两者都存在于数据库中时)。如果其中一列不同,我不想限制它

转载 作者:行者123 更新时间:2023-11-30 02:42:36 26 4
gpt4 key购买 nike

在下面的代码 fragment 中,我有两列具有 UNIQUE (MEMBER_NAME & KEY_CALORIES)。如果两列相同,我只希望它是唯一的。我正在尝试获取 UNIQUE(MEMBER_NAME、KEY_CALORIES)或这些行中的内容。

我正在尝试完成的示例:也许用户输入了一个 MEMBER_NAME(但该名称已经在数据库中)但 KEY_CALORIES 不同 我希望能够将该项目添加到 SQLite 数据库中。如果用户输入已经存在的 MEMBER_NAME 和 KEY_CALORIES(仅当它们相同时),我希望它是唯一的。如果在理解我要完成的任务时遇到困难,我会更新我的问题。

    // TABLE CREATION STATEMENT
private static final String CREATE_TABLE = "create table " + TABLE_MEMBER
+ "(" + MEMBER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ MEMBER_NAME + " TEXT NOT NULL UNIQUE," + KEY_CALORIES
+ " INT NOT NULL UNIQUE);";

最佳答案

使用 UNIQUE(MEMBER_NAME) 约束意味着您只能插入一次 MEMBER_NAME。您想要的是 MEMBER_KEYKEY_CALORIESUNIQUE 约束。

您可以使用 UNIQUE(MEMBER_KEY,KEY_CALORIES) 作为约束条件,这意味着它们的组合值应该是唯一的。只要此组合是唯一的,两列都允许重复。

可能的重复/引用答案: Sqlite table constraint - unique on multiple columns

关于android - 在两列上创建 UNIQUE 约束(仅当两者都存在于数据库中时)。如果其中一列不同,我不想限制它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com