У меня пока есть это в хранимой процедуре:
IF NOT EXISTS(SELECT 1 FROM information_schema.statistics WHERE TABLE_SCHEMA=DATABASE()
AND TABLE_NAME= 'food' AND (INDEX_NAME='ix_meat' OR COLUMN_NAME='meat')
)
THEN
CREATE INDEX ix_meat ON food (meat);
END IF;
IF NOT EXISTS(SELECT 1 FROM information_schema.statistics WHERE TABLE_SCHEMA=DATABASE()
AND TABLE_NAME= 'food' AND (INDEX_NAME='ix_greens' OR COLUMN_NAME='greens')
)
THEN
CREATE INDEX ix_greens ON food(greens);
END IF;
Остальные столбцы в пище, кроме основного:
фрукты, порция, пол, вес
Я хочу добавить только один индекс, если в этих столбцах нет одного индекса или если какой-либо из них является частью индекса из нескольких столбцов, но с правой стороны, например (пол, зеленые). Чтобы убедиться, что индекс одного столбца еще не существует, мне нужно включить проверку количества строк в этом столбце. Как мне изменить этот скрипт для этого?