TDengine插入使用taos_stmt api
TDengine insertion use taos_stmt apis
创建超级table和tables后,调用taos_load_table_info
加载table信息。然后调用taos_stmt_init
和taos_stmt_set_tbname
初始化stmt,设置tablename.
创建具有以下属性的 TAOS_BIND
对象:
buffer_type = TSDB_DATA_TYPE_NCHAR
buffer_length = sizeof(str)
buffer = &str
length = sizeof(str)
然后调用taos_stmt_bind_param
和taos_stmt_add_batch
,最后用taos_stmt_execute
执行。
问题是插入失败,因为我检查了 shell 并使用 select *
查找数据,但它只显示一个空列。
强烈建议您先尝试插入一个简单的nchar类型的数据,看看是不是taos_stmtAPI的问题。如果插入成功,那么您还可以检查插入的 nchar 字符串是否与 str
变量的长度相同。有时,buffer_length
大于或等于 length
。如果你的nchar数据的实际大小小于TAOS_BIND
中的length
值,那么tdengine还是会分析绑定值和其他多余的空值,会插入失败。
创建超级table和tables后,调用taos_load_table_info
加载table信息。然后调用taos_stmt_init
和taos_stmt_set_tbname
初始化stmt,设置tablename.
创建具有以下属性的 TAOS_BIND
对象:
buffer_type = TSDB_DATA_TYPE_NCHAR
buffer_length = sizeof(str)
buffer = &str
length = sizeof(str)
然后调用taos_stmt_bind_param
和taos_stmt_add_batch
,最后用taos_stmt_execute
执行。
问题是插入失败,因为我检查了 shell 并使用 select *
查找数据,但它只显示一个空列。
强烈建议您先尝试插入一个简单的nchar类型的数据,看看是不是taos_stmtAPI的问题。如果插入成功,那么您还可以检查插入的 nchar 字符串是否与 str
变量的长度相同。有时,buffer_length
大于或等于 length
。如果你的nchar数据的实际大小小于TAOS_BIND
中的length
值,那么tdengine还是会分析绑定值和其他多余的空值,会插入失败。