Как я могу использовать MySql ENUM типа? (и это правильно для новостной ленты)

0

Я создаю таблицу под названием news_feed, это будет регистрировать все действия, которые выполняет пользователь.

Скажем, я хочу сохранить

Пользователь1234 удалил статью412 в полдень

Затем мне нужна таблица, подобная

timestamp | user_id | subject_type | subject_id | method

.

было бы 5 возможных методов log,

methods = add/edit/delete/update/report

и позволяет сказать 2 возможных объекта subject_type

subjects = article/comment

Я знаю, что могу сделать свой собственный ключ, где 0 = добавить, 1 = удалить и т.д., но это сделало бы мои запросы громоздкими для использования/записи, так как мне нужно было бы советоваться с ключом. Существует ли тип MySql, который может быстро считывать множество идентичных значений? это ENUM? как его использовать?!!

Теги:

2 ответа

3
Лучший ответ

Да, для этого можно использовать тип ENUM.

CREATE TABLE news_feed (
    ...
    methods ENUM('add', 'edit', 'delete', 'update', 'report'),
    subjects ENUM('article', 'comment')
);

Затем просто используйте, как и любое другое поле, например

SELECT * FROM news_feed WHERE methods='add';

Документация для типа ENUM имеет гораздо больше информации.

  • 0
    Есть ли простой способ сделать это с phpmyadmin?
  • 0
    получил его, положить потенциальные значения в (длина / значения) Col
Показать ещё 1 комментарий
1

Почему бы вам не взглянуть на docs? Здесь хорошо объяснили.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню