0
我正在使用Xamarin構建一個使用SQlite作爲其主數據源的Android應用程序。我很難將我的頭部包裹到將數據插入到數據庫中的概念。當我嘗試插入對象而不提及主鍵時,我收到「約束」錯誤消息。如何在不提供主鍵的情況下在SQlite中插入數據?
比如我有表「產品」如下:
class Person
{
[PrimaryKey, Unique]
public int ID { get; set; }
public String personName { get; set; }
public int photoId { get; set; }
}
如果我做db.Insert(new Person(){personName = "xyz", photoId = 23})
我會得到錯誤信息,但如果我這樣做db.Insert(new Person(){ID = 1, personName = "xyz", photoId = 23})
數據插入會成功。如何插入數據而不提供主鍵並且不使主鍵可以爲空。
如果我使用自動增加註釋,會發生在我嘗試用自己的主鍵來插入數據是什麼? –
您應該可以在不指定ID屬性的情況下添加新記錄,並且數據庫將自動生成唯一的ID。 –
我打算問,如果我指定主鍵,主鍵的哪個值將被添加。我指定的那個還是註釋生成的那個? –