[英]Sqlite3 insert error C++
I am inserting to sqlite3 table Company where i used following schema to create table 我要插入sqlite3表公司,我在其中使用以下架构创建表
sql = "CREATE TABLE COMPANY(" \
"NAME TEXT PRIMARY KEY NOT NULL,"
"ADDRESS TEXT NOT NULL;";
I am able to create table, but when I use following command to insert using sqlite3_bind_text, I am getting following problem as 我能够创建表,但是当我使用以下命令使用sqlite3_bind_text插入时,出现以下问题
const char* sql = "INSERT INTO COMPANY(NAME, ADDRESS) VALUES (?, ?)"
sqlite3_stmt *stmt;
int rc = sqlite3_exec(db, sql, callback, &stmt, &zErrMsg);
if(rc == SQLITE_OK ) {
sqlite3_bind_text(stmt, 1, "abc", 3, 0);
sqlite3_bind_text(stmt, 2, "def", 3, 0);
// commit
sqlite3_step(stmt) ;
sqlite3_finalize(stmt) ;
}
I am getting error like, SQL ERROR: COMPANY.NAME may not be NULL 我收到类似SQL错误的错误:COMPANY.NAME不能为NULL
Does sqlite3 bind text not work when column is not null? 当column不为null时,sqlite3绑定文本不起作用吗?
const char* sql = "INSERT INTO COMPANY(NAME, ADDRESS) VALUES (?, ?)"
sqlite3_stmt *stmt;
char *pszTest ;
int rc = sqlite3_prepare(db, sql, strlen(sql), &stmt, &pszTest) ;
if(rc == SQLITE_OK ) {
sqlite3_bind_text(stmt, 1, "abc", 3, 0);
sqlite3_bind_text(stmt, 2, "def", 3, 0);
// commit
sqlite3_step(stmt) ;
sqlite3_finalize(stmt) ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.