在sqlit3中尝试多个插入值时,显示21个错误代码。
示例查询:
insert into Assembly_master ('ASSEMBLY_MASTER_ID','ASSEMBLY_MASTER_KID','ASSEMBLY_MASTER_CODE','ASSEMBLY_MASTER_NAME','DISTRICT_MASTER_CODE','ASSEMBLY_MASTER_HINDI','DISTRICT_MASTER_KID') values ('1','1','76','HH','194',' ','1'),('2','2','101','ANGARA','1008','','545')
答案 0 :(得分:1)
您的INSERT语句是正确的,但仅限于SQLite 3.7.11或更晚。
如果您(可能)拥有早期版本,则应使用多个INSERT语句。
答案 1 :(得分:0)
错误是由第二个插入的第六个值('',)< - 引起的 连续的单引号(这样翻倍)是SQLite转义单引号的方式(引用SQL作为SQLite理解 - > HERE):
通过将字符串括在单引号中形成字符串常量 (')。字符串中的单引号可以通过放置两个来编码 连续单引号 - 如Pascal。
这会留下单引号字符(不用单引号括起来)作为SQLite要处理的占位符,而不是预期的字符串常量......因此...绑定时会生成错误代码21(SQLITE_MISUSE)正在尝试。
也许你想要空格字符''或NULL?
修改强> 尽管这个答案显然是错误的,但这个答案中的信息是一个SQLite“gotcha”,可能没有多少提及,所以我希望它可以帮助任何通过相关搜索条件登陆这里的人。 / p>