NutzCN Logo
问答 查询一个索引是否存在,用nutzdao怎么弄?
发布于 2897天前 作者 qq_16dd5808 2409 次浏览 复制 上一个帖子 下一个帖子
标签:

语句是这样的

show index from t_rc_repair_20161101 where Key_name='t_rc_repair_20161101_devid_index'
11 回复
Sql sql = Sqls.create(...........);
sql.setSqlType(SqlType.SELECT);

报告,没有这个方法。
setSqlType

哦, 写错了,是

sql.forceExecQuery();

有这个方法,但是怎么获得返回的数据?
如果查到了有可能是一行或者多行

Sql s = Sqls.create("show index from t_rc_repair_20161101 where Key_name='t_rc_repair_20161101_devid_index'");
        s.forceExecQuery();
        Object o = dao1.execute(s).getResult();
        System.out.println(o);

都是null。在工具里面查,能查到结果集。

@qq_16dd5808 需要设置一下回调哦, 或者用Sqls.fetchRecord吧

哦,行了。

Sql s = Sqls.queryRecord("show index from t_rc_repair_20161101 where Key_name='t_rc_repair_20161101_devid_index'");
        s.forceExecQuery();
        List<Record> l = dao1.execute(s).getList(Record.class);
        System.out.println(l);
Sql s = Sqls.queryRecord("show index from t_rc_repair_$day where Key_name='t_rc_repair_$day_devid_index'");
s.setVar("day", dayStr);
s.forceExecQuery();
List<Record> l = dao1.execute(s).getList(Record.class);

按理解应该是

show index from t_rc_repair_20161101 where Key_name='t_rc_repair_20161101_devid_index'

结果执行的时候,变成了

show index from t_rc_repair_20161101 where Key_name='t_rc_repair_'

其实我就是想动态替换中间的日期。

t_rc_repair_$day_devid_index 整个作为变量吧...

嗯,已经改成这样了。

Sql s = Sqls.queryRecord("show index from $tableName where Key_name='$indexName'");
        s.setVar("tableName", "t_rc_repair_20161101");
        s.setVar("indexName", "t_rc_repair_20161101_devid_index");
        s.forceExecQuery();
        List<Record> l = dao1.execute(s).getList(Record.class);
        System.out.println(l.size());
添加回复
请先登陆
回到顶部