`
lanhuidong
  • 浏览: 226292 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SQLite3主键自动递增

阅读更多

学习了下Android中的sqlite3,关于主键自动递增调试花了不少时间。于是记录下:

开始建表语句是这么写的:

create table user(id integer primary key autoincrement, username char(20), password char(20));

结果插入数据时不指定id的值,id就为空。

后来发现只要这么写就可以了:

create table user(_id integer primary key autoincrement, username char(20), password char(20))。

不知道是否sqlite3的主键必须叫_id

分享到:
评论

相关推荐

    Android sqlite设置主键自增长的方法教程

    当我们需要在SQLite数据库中创建表并定义主键时,通常希望主键能够自动递增,这样在插入新记录时,系统会自动为每条记录生成唯一的标识。在本教程中,我们将探讨如何在Android的SQLite数据库中设置主键自增长的方法...

    SQLite3中自增主键相关知识总结

    在SQLite3中,自增主键是一个重要的概念,它确保了每个记录的唯一标识。本文将深入探讨SQLite3中自增主键的相关知识,包括如何清零、INTEGER PRIMARY KEY AUTOINCREMENT的特性和rowid的使用。 一、自增主键清零 在...

    sqlite3开发包3.8

    3. **WITHOUT ROWID**:这个特性允许创建没有隐式行ID的表格,减少了存储空间,对于那些不需要自动递增主键的表特别有用。 4. **EXPLAIN QUERY PLAN**:在3.8版本中,SQL解释计划提供更详细的输出,帮助开发者优化...

    SQLite之Autoincrement关键字(自动递增)

    在SQLite中,`AUTOINCREMENT` 关键字是用来确保整型字段(INTEGER)的值自动递增,通常用于创建主键(PRIMARY KEY)字段,以保证每个记录的唯一性。下面将详细解释 `AUTOINCREMENT` 的工作机制、用途以及一些相关的...

    DatatypesInSQLiteVersion3中文版SQLite3的数据类型.rar

    此外,SQLite3还支持类型别名,如INT PRIMARY KEY实际上是一个INTEGER类型的列,同时被设置为主键,这保证了唯一性和自动递增功能。 在实际应用中,了解SQLite3的数据类型及其动态特性对于优化查询性能、设计高效...

    pbootcms数据sqlite转mysql数据库

    例如,SQLite的主键自动递增可能需要改为MySQL的`AUTO_INCREMENT`。 5. **导入数据**:将修改后的SQL脚本在MySQL中执行,创建表结构并填充数据。可以使用MySQL客户端工具(如MySQL Workbench)或命令行来执行这些...

    Sqlite3支持的数据类型

    当定义一个列为主键并添加AUTOINCREMENT关键字时,SQLite会确保该列的值在插入新行时自动递增,并且每个值都是唯一的。需要注意的是,AUTOINCREMENT并不总是生成连续的序列,只有在删除了具有最大自增值的行后,才会...

    SQLite中重置自动编号列的方法

    在SQLite数据库中,自动编号列是一种非常实用的功能,它允许你在插入新记录时自动为某列生成唯一的递增整数。这种类型的数据列通常用于主键,确保每条记录都有一个独特的标识。SQLite通过维护一个名为`sqlite_...

    SQLite3学习-1.docx

    在另一个示例中,我们创建了一个名为`device`的表格,这个表格有四个字段:`id`(integer类型,设为主键且自动递增),`name`(varchar,长度256,设为唯一),`status`(int类型,非空,默认值为0),以及`online`...

    SQLITE3数据库列子

    这里的`id`列被声明为`INTEGER PRIMARY KEY`,这意味着它是一个自动递增的主键。`name`列是`TEXT`类型,不能为NULL,而`age`列则是可为NULL的整数。 接下来,我们探讨如何插入数据。使用`INSERT INTO`语句可以在表...

    一篇不错的sqlite学习日志

    在SQLite中,可以使用`CREATE TABLE`语句定义数据表结构,例如创建一个联系人表格`contact`,包括自动递增的主键`id`、姓氏`lastname`、名字`firstname`、手机号码`mobile`等字段。查看数据库中的数据表使用`.tables...

    AndroidInject增加sqlite3数据库映射注解(ORM)

    4. `@AutoIncrement`: 表示字段值自动递增,常用于整型主键。 5. `@OneToMany`, `@ManyToOne`, `@OneToOne`, `@ManyToMany`: 这些注解用于处理一对多、多对一、一对一和多对多的关联关系,使得对象间的关系也能在...

    JavaScript操作SQLite数据库Demo

    在这个例子中,我们创建了一个名为`Items`的表,包含`id`(自动递增的整数主键)、`name`(文本)和`price`(浮点数)三列。 然后,可以插入数据: ```javascript db.transaction(function(tx) { tx.executeSql('...

    C# SQLite 增、删、改、查、创建加密数据库 Demo

    这段代码创建了一个名为"mydb.sqlite"的数据库,并在其中创建了名为"Users"的表,包含Id(自动递增整数主键)、Name和Email两个字段。 插入数据(增): 向表中插入数据可以使用SQLiteCommand对象的ExecuteNonQuery...

    使用SQLite本地数据库

    这个`RunTracker`表包含四列:`id`是主键,自动递增;`date`存储日期;`distance`存储跑步距离;`duration`存储跑步时间。 插入数据: 向表中插入数据使用`INSERT INTO`语句,如: ```sql INSERT INTO RunTracker ...

    c#连接sqlite简单示例

    这段代码将创建一个名为Employees的表,包含ID(自动递增的整数主键)、Name(文本)和Age(整数)三列。 要插入数据,可以使用`INSERT INTO`语句: ```csharp string insertSql = "INSERT INTO Employees (Name, ...

    安卓SQLite数据库相关-AndroidInject增加sqlite3数据库映射注解(ORM).zip

    在这里,`User`类与`User`表关联,`id`字段是主键且自动递增,`name`字段则是普通的文本字段。 `@Column`注解用于标记类的成员变量,表示这个变量对应于表中的一个列。可以指定列名、是否为主键、是否自动递增等...

    Android 连接Sqlite代码示例,并用sqliteStudio进行可视化显示

    在这个例子中,我们定义了一个名为"MyDatabase.db"的数据库,一个名为"UserTable"的表,包含ID(整型,自动递增并为主键)、NAME(文本)和SURNAME(文本)三列。 接下来,我们需要在Android应用中执行SQL语句来...

    Android基于SQLite记事本

    这里,`id`是主键,自动递增;`title`和`content`分别代表记事的标题和内容,都是非空的文本字段;`created_at`是一个时间戳字段,用于记录每条记事的创建时间,默认值为当前时间。 然后,我们实现对数据库的操作...

Global site tag (gtag.js) - Google Analytics