время расчета в переменной - PullRequest
1 голос
/ 03 апреля 2012

У меня следующий запрос:

INSERT INTO table (a, b, c) VALUES (NOW(), NOW() + INTERVAL 14 DAY,?)

Для a и b я использую метки времени, в то время как b - метка времени a, только что добавлено плюс 14 дней.

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

Поэтому я подумал, что это будет лучший способ найти переменную, которая точно вычисляет разницу между a и b, как

b - a = c

и такая переменная будет вставлена ​​в БД.

Моя проблема в том, что у меня теперь есть 2 метки времени от части значения, которую я не знаю, как использовать до этого момента. Я мог бы получить их через fetch_assoc и т. Д., Чтобы справиться с ними. Но до этого я думал, что, может быть, есть более простой способ достичь своей цели?

1 Ответ

2 голосов
/ 03 апреля 2012

Если вы хотите, чтобы c было целым числом, а разница между a и b, то вы можете использовать unix_timestamps (это секунды, прошедшие с 1970-01-01).

INSERT INTO table (a, b, c) VALUES (NOW(), NOW() + INTERVAL 14 DAY,unix_timestamp(now()) - unix_timestamp(now() + interval 14 day))

Чтобы преобразовать такое целочисленное значение обратно во временную метку, вы можете использовать функцию FROM_UNIXTIME()

Более подробную информацию можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...