Как вычесть поля и вставить значение в другое поле автоматически?
Мне нужно создать таблицу с двумя полями, имеющими значения, и третьим полем, которое принимает значения и вычитает их из общего поля.
мне нужен запрос что-то подобное, если оно существует.
создать расчет таблицы (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;
даст вам результат, который вы хотите.