我正在使用sqllite数据库的android应用程序。在我的桌上我需要一个独特的专栏。但有些时候,这个有唯一性的列会插入空值。相反,我需要在此列中插入自动增量值。独特列自动增量sqllite
请在表格脚本中给出一个解决方案,以生成一个支持unique和autoincrement的列的表格。
我正在使用sqllite数据库的android应用程序。在我的桌上我需要一个独特的专栏。但有些时候,这个有唯一性的列会插入空值。相反,我需要在此列中插入自动增量值。独特列自动增量sqllite
请在表格脚本中给出一个解决方案,以生成一个支持unique和autoincrement的列的表格。
就像在SQL查询如下:
CREATE TABLE Persons
(ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID))
更多信息:MS SQL Server
使用IDENTITY keyword
执行auto-increment
功能。
和SQLite像下面查询:
CREATE TABLE failed_banks(id integer primary key, name text, city text, state text, zip integer, acquired_by text, close_date date, updated_date date);
更多信息:A柱在SQLite
声明INTEGER PRIMARY KEY
将auto-increment
。
如果您需要一个可以插入和更新的列,并且该列仍然具有唯一性,那么您必须以这种方式实现它。
首先让该列为UNIQUE,然后在插入的情况下确保您有一些机制为该列添加唯一值。在更新和插入的情况下,您需要捕获唯一值异常,并确保在异常情况下采取适当的措施。
你可以采取一些方法:
如果您需要唯一的整数,然后在插入的时候总是去最大值在列,并添加1插入新的价值。在更新整数值的情况下,您需要通过首先为该整数提取值来确认该值不存在,然后在未添加的情况下进行更新。如果有价值,那么你需要有一个逻辑来获得另一个独特的价值。
如果列的值不是整数或数字,而是文本,则必须首先检查存在并更新/插入,以便在插入和更新中更好地处理它。
排序回答:除了它是主键字段外,你不能。
如果它是UNIQUE
和NOT NULL
和自动递增,那么除了将它作为主键以外,别无选择。
CREATE TABLE table_name (your_field_name INTEGER PRIMARY KEY, ...)
INTEGER PRIMARY KEY
这里的东西使它成为主键,自动递增。
Sqlite数据库有一个关键字AUTOINCREMENT
,除了关联到PRIMARY KEY
约束外,它不能使用。
但是我在哪里可以在这个表格脚本中使用唯一? – Arun
@Arun“PRIMARY KEY”定义唯一性。这就是它 –
行...我的要求是也使用插入或替换到独特的列TABLE ...将工作? – Arun