Как вычесть поля и вставить значение в другое поле автоматически?

Мне нужно создать таблицу с двумя полями, имеющими значения, и третьим полем, которое принимает значения и вычитает их из общего поля.

мне нужен запрос что-то подобное, если оно существует.

создать расчет таблицы (id int(11),val1 int(11),val2-val1 int(11) как итог);

id    val1    val2     total
1      5       4         1

1 ответ

Вы не должны хранить данные, которые могут быть легко рассчитаны на лету. Я бы порекомендовал вам использовать VIEW вместо TABLE, Подробнее о взглядах читайте здесь.

CREATE VIEW my_first_view AS
SELECT
id, val1, val2, val1 - val2 AS total
FROM your_table;

Таким образом, вы не сохраняете избыточные данные, но можете использовать представление, как если бы оно было обычной таблицей. Если это простой запрос, подобный приведенному выше, представление может быть даже обновляемым и вставляемым. Подробнее об этом особом случае читайте здесь.

SELECT * FROM my_first_view;

даст вам результат, который вы хотите.

Другие вопросы по тегам