插入数据失败: near "1001": syntax error
时间: 2023-09-26 18:10:07 浏览: 164
抱歉,我之前提供的代码有一个错误。在插入数据时,我忘记为每个数据值添加逗号来正确分隔它们。以下是修正后的代码:
```c
// 初始化数据并插入
char *insertSql = "INSERT INTO students (id, name, age, score) VALUES ";
char *values[] = {
"1, '张三', 18, 80",
"2, '李四', 20, 70",
// 其他数据...
};
for (int i = 0; i < 20; i++) {
char *fullSql = malloc(strlen(insertSql) + strlen(values[i]) + 3);
strcpy(fullSql, insertSql);
strcat(fullSql, "(");
strcat(fullSql, values[i]);
strcat(fullSql, ");");
rc = sqlite3_exec(db, fullSql, callback, 0, &errMsg);
if (rc != SQLITE_OK) {
fprintf(stderr, "插入数据失败: %s\n", errMsg);
sqlite3_free(errMsg);
free(fullSql);
return 0;
}
free(fullSql);
}
```
在每个数据值的字符串中,我移除了括号,并在插入语句中手动添加了括号。这样可以确保在每个数据值之间正确添加逗号。希望这次能够顺利执行插入操作,如果您还有其他问题,请随时提问!
阅读全文