我知道之前曾问过这个问题,但不幸的是我无法运行该解决方案。
我正在尝试在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!
答案 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和我的软件中正常工作。
谢谢。