Enum - это не то, что drupal может сделать с API схемы, что вы в большинстве случаев хотите использовать для модулей и прочего. Также вам не хватает конца) в вашей ссылке на это, но я уверен, что вы сделали это правильно, когда вы сделали таблицу.
Enum - это только ограничение, которое встроено в базу данных при вставке значений. Поэтому, если вы попытаетесь вставить недопустимое значение, вместо этого вы вставите пустую строку. Так что это не окажет никакого влияния на запросы Drupal для получения данных. Это также не будет иметь никакого эффекта при вставке значений Drupal, кроме преобразования недопустимых значений в пустые строки. Возможно, вы захотите проверить ваши данные, чтобы увидеть, если это так, как ожидалось. Вы можете просто не получить результатов, потому что ваш запрос ничего не соответствует.
Другой способ, которым вы строите свои запросы, это большой НЕТ НЕТ , так как это очень небезопасно. Что вы должны сделать, это:
db_query("SELECT ... '%s' ...", $var);
Drupal заменит% s вашим var и убедится, что нет SQL-инъекций и других неприятных вещей. % s указывает, что переменная является строкой, используйте% d для целых чисел, и есть несколько других, которые я не могу вспомнить сейчас. У вас может быть несколько таких заполнителей, и они будут вставлены по порядку, как функция t.