我们如何键入 Sqlite 查询以创建具有属性的列的顺序真的很重要吗
Is the sequence on how we type a Sqlite query to Create a column with attributes really matters
我是 android 使用 Sqlite 编写应用程序的新手
我有三个问题
我创建了这个 Sqlite table,其中的列具有如下属性
文本
不为空
独特
默认常规
Q1) 我怀疑是否有关于如何删除一行属性的命令
Q2) 如果我声明任何行具有像 这样的默认值,即使用户在该行中插入了一些内容,文本是否仍会被插入,如果是,那么如何如果用户没有在特定行中插入任何值,则插入默认值
Q3)我下面的代码正确吗?我想要的是行 KEY_TAGNAME 是唯一的,而不是空的,并且如果该行没有获得任何数据而该行发生插入语句时具有值 table.
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:我在文档中找不到任何明确说明属性顺序的内容,但我尝试创建几个 tables在我创建的测试数据库中检查这个,似乎如果你不遵循正确的顺序,你会得到一个语法错误。
(尝试使用 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 在 table 创建后,您将像往常一样创建行,最后放一个DEFAULT 和它旁边的值。请检查 link 这)
A3您的查询是正确的,并且会执行您提到的事情。
我是 android 使用 Sqlite 编写应用程序的新手
我有三个问题
我创建了这个 Sqlite table,其中的列具有如下属性 文本 不为空 独特 默认常规
Q1) 我怀疑是否有关于如何删除一行属性的命令
Q2) 如果我声明任何行具有像 这样的默认值,即使用户在该行中插入了一些内容,文本是否仍会被插入,如果是,那么如何如果用户没有在特定行中插入任何值,则插入默认值
Q3)我下面的代码正确吗?我想要的是行 KEY_TAGNAME 是唯一的,而不是空的,并且如果该行没有获得任何数据而该行发生插入语句时具有值 table.
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:我在文档中找不到任何明确说明属性顺序的内容,但我尝试创建几个 tables在我创建的测试数据库中检查这个,似乎如果你不遵循正确的顺序,你会得到一个语法错误。
(尝试使用 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 在 table 创建后,您将像往常一样创建行,最后放一个DEFAULT 和它旁边的值。请检查 link 这)
A3您的查询是正确的,并且会执行您提到的事情。