列计数更改时向SQLite表插入数据的动态方法
我正在使用SQLite编写一个脚本,在这个脚本中,可以插入到我创建的表中的列的数量会发生变化,以便以后进行连接 我创建这个表是为了将数据插入其中,它有97列,从我的提要中输入的数据可以从大约80列一直到第97列 我得到的错误是列计数更改时向SQLite表插入数据的动态方法,sql,sqlite,Sql,Sqlite,我正在使用SQLite编写一个脚本,在这个脚本中,可以插入到我创建的表中的列的数量会发生变化,以便以后进行连接 我创建这个表是为了将数据插入其中,它有97列,从我的提要中输入的数据可以从大约80列一直到第97列 我得到的错误是SQLITE\u错误:表allPositionsTable有97列,但提供了80个值,这是我试图通过找出一种不发生这种情况的方法来避免的错误 我是否可以使用任何变通方法或技巧使SQLite函数始终包含没有数据的列,或者动态地不包含这些列,从而消除错误 我得到的错误是SQLI
SQLITE\u错误:表allPositionsTable有97列,但提供了80个值
,这是我试图通过找出一种不发生这种情况的方法来避免的错误
我是否可以使用任何变通方法或技巧使SQLite函数始终包含没有数据的列,或者动态地不包含这些列,从而消除错误
我得到的错误是SQLITE\u错误:表allPositionsTable有97
列,但提供了80个值
,这是我正在尝试的
通过找出一种不会发生这种情况的方法来避免
这是因为您使用的是默认列列表(即,不指定要将值放入其中的列)
也就是说,您将编写相当于INSERT的代码,插入到您的表值中(….
因此,在没有列列表的情况下,您的意思是,您将为表中的所有列提供一个值,从而在一个或多个值不存在时提供消息
您要做的是使用插入到您的\u表\u名称(要插入的\u列的\u逗号\u分隔\u列表)值(……。
- 其中插入的列的表名和逗号分隔列表将替换为适当的值
如果您只在一行中插入80个值,则只插入这80列而不是97列(并确保您要忽略的列可以有空值)@Shawn那么如果有额外的列会发生什么呢?因为我无法预测列的数量。问题是:我不知道你想从中得到什么,但不知道,我认为你不知道如何使用insert指定列。如果你有一个表,比如说,有三列
a
,b
和c
,并且要插入一行,其中的值仅为列a
和c
所知,您可以执行类似于insert INTO mytable(a,c)values('a value','c value')的操作
b
,被忽略,被赋值为空。这是您需要做的事情。这不是您所问的,但应该注意的是,在一个格式良好、正确规范化的数据库中,表示任何类型的真实数据,几乎不可能合法地需要一个包含97列的表。什么数据是空的他的桌子应该放东西吗?