我是用Sqlite编写android应用程序的新手
我有三个问题
我创建了这个Sqlite表,其中的列具有如下属性
文本
不为空
独特的
默认常规
Q1)我怀疑是否有关于如何对行的属性进行delare的顺序
Q2)如果我声明任何行有一个默认值,比如即使用户在该行中插入了某些内容,文本也会被插入,如果是,那么如果用户没有在特定行中插入任何值,如何插入默认值
问题3)下面的代码是否正确?我想要的是行键标记名是唯一的,而不是空的,并且在为该表执行insert语句时,如果该行没有得到任何数据,它就会有一个值。

private static final String CREATE_TAGTABLE_SQL=
        "CREATE TABLE " + DATABASE_TABLE_TAG
        + " ("
        + KEY_TAGROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
        + KEY_TAGNAME + " TEXT NOT NULL UNIQUE DEFAULT regular"
        + ");";

最佳答案

A1:我在文档中找不到任何关于属性顺序的明确说明,但是我试图在我创建的测试数据库中创建两个表来检查这个,似乎如果不遵循正确的顺序,就会出现语法错误。
(尝试使用create table test (key1 integer primary key autoincrement)可以正常工作,但create table test1 (key1 primary key integer autoincrement)会给出near "integer": syntax error:
A2:您可以插入一个默认值,如果用户不在其中输入任何内容,该值将被放入。关键字是default并且您将找到更多关于如何使用它的信息here(TL;DR在创建表时,您将像往常一样创建行,最后放置一个默认值,并在它旁边放置一个值。请检查此链接)
你的问题是正确的,会做你提到的事情。

10-07 19:24
查看更多