我有以下SQLite代码。如何在每行中插入自动生成的唯一ID?
tx.executeSql('DROP TABLE IF EXISTS ENTRIES');
tx.executeSql('CREATE TABLE IF NOT EXISTS ENTRIES (id unique, data)');
tx.executeSql('INSERT INTO ENTRIES (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO ENTRIES (id, data) VALUES (2, "Second row")');
您可以将其定义id
为自动递增列:
create table entries (id integer primary key autoincrement, data)
正如MichaelDorner指出的那样,SQLite文档说an可以integer primary key
做同样的事情,并且速度稍快。该类型的列是其别名rowid
,其行为类似于自动增量列。
create table entries (id integer primary key, data)
此行为是隐式的,可能会使经验不足的SQLite开发人员措手不及。
问题内容: 这似乎很简单:我想在SQLite表中复制一行: 如果没有显式的唯一列声明,则该语句将起作用,但是将声明表的第一列。有什么方法可以创建一个简单的语句,而上面的语句在不知道表模式的情况下起作用(除了第一列)? 问题答案: 好吧,由于无法按照我想要的方式执行此操作,因此我使用了隐式行ID,该ID与我显式定义的rowId列的名称相同,因此现在可以使用问题中使用的查询了。 ,它将使用新的rowI
我需要在表中插入所有单元格的唯一数据。我的表有3列,如果所有3个单元格的值相同,我需要忽略insert。 例如,我有一个表:|column_1 | column_2 | column_3| 以及此表的值: |val 1|val 2|val 3| |val 1|val 2|val 5| |val 1|val 2|val 3| |val 1|val 2|val 3| 所以我只需要插入值1和2,因为3和
问题内容: 在MySQL中,我会使用 但这会导致SQLite错误。SQLite的正确语法是什么? 问题答案: 在此之前,已经回答了这一问题:是否可以一次在SQLite数据库中插入多行? 要回答您对OMG Ponies的评论,请回答: 从3.7.11版本开始,SQLite确实支持多行插入。理查德·希普(Richard Hipp)评论:
问题内容: 我正在尝试在SQLite(最新版本)表中插入多行,但抛出错误 从这里得到的想法,这是我的SQL查询: 但它抛出 这是我的表结构 我的查询有问题吗? 任何帮助,将不胜感激。 TIA 问题答案: 由于提到了最新版本的SQLite,因此应使用多值插入(自3.7.11版以来受SQLite支持),如下所示: 这是更短,更快,更不容易出错的方法。其他一些数据库(至少MySQL和PostgreSQL
我如何让IntelliJ IDEA在文件的每一端插入一个新行,这样GitHub就不会抱怨例如?