如果索引不存在,请创建索引

时间:2017-09-17 00:32:24

标签: c++ mysql

我知道之前曾问过这个问题,但不幸的是我无法运行该解决方案。

我正在尝试在mySQL上执行以下查询:

IF( SELECT 1 FROM information_schema.statistics WHERE index_name='abcattbl_tnam_ownr' AND table_name='abcattbl') <= 0 CREATE INDEX abcattbl_tnam_ownr ON abcattbl(abt_tnam ASC, abt_ownr ASC);

mySQL WB和unixODBC isql都会出错。 WB表示错误发生在IF命令/语句中。

当然,尝试在我的C / C ++中执行此语句也会失败。这就是我尝试WB和isql的原因。

我真的不需要WB / isql执行 - 我希望它能在我的C / C ++程序中运行。

我错过了什么?

TIA!

1 个答案:

答案 0 :(得分:0)

以下是我将使用的解决方案:

SELECT( IF( ( SELECT 1 FROM information_schema.statistics WHERE index_name=\'abcattbl_tnam_ownr\' AND table_name=\'abcattbl\' ) > 0, \"SELECT 0\", \"CREATE INDEX abcattbl_tnam_ownr ON abcattbl(abt_tnam ASC, abt_ownr ASC)\"));

此查询在WB和我的软件中正常工作。

谢谢。