У меня есть хранимая процедура, которая должна выполнить пример кода:граф все таблицы MySQL с именем похож на колонке
IF EXISTS (
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME IN ('TB1', 'TB2', 'TB3')
AND COLUMN_NAME = 'COL'
AND table_schema = 'TestDB'
GROUP BY TABLE_NAME
HAVING count (TABLE_NAME) = 3
)
THEN
/*Used for debugging*/
SELECT 'Tables EXIST' INTO msg;
ELSE
/*Used for debugging*/
SELECT 'NON-EXISTENT TABLES !' INTO msg;
END IF
В принципе, я хочу выше фрагмент кода, чтобы выбрать все указанные таблицы, имеет столбец с именем «COL». Я хочу сделать это только с помощью information_schema, ничего больше.
При проверке тестовый оператор (IF EXISTS) всегда возвращает false. То есть инструкция ELSE выполняется всегда, хотя мои три тестовые таблицы (TB1, TB2 и TB3) имеют поле COL. Какой грех я совершаю?
миллион спасибо @ Джон. оно работает ! –