Jump to content
Калькуляторы

Знатоки MySQL есть? Прокомментировать бы...

Была табличка вот такая:

mysql> SELECT * from sms_code;
| id  | time                | phone       | mac               | ip           | code  | mid        | remote_ip      | token                            | activated | activate_time       |
|  68 | 2015-11-25 16:42:49 | 7926XXXXXXX | 00:XX:XX:XX:XX:8C | 10.0.yyy.yyy | zzzzz |      12345 | XX.XX.XX.XX    | 93b4179808ca224477fff08d2XXX54X0 |         1 | 0000-00-00 00:00:00 |
|  69 | 2015-11-25 17:01:35 | 7926XXXXXXX | BX:XX:XX:XX:XX:AB | 10.0.yyy.yyy | zzzzz | 5061652143 | XX.XX.XX.XX    | a9c398ca7e92f5cc9037291e7XXXX1Xf |         1 | 0000-00-00 00:00:00 |
ВЫРЕЗАНО
| 849 | 2016-04-29 11:26:03 | 7926XXXXXXX | 00:XX:XX:XX:XX:59 | 10.0.0.ZZ    | zzzzz | 5115879796 | XX.XX.XX.XX    | cb3e2c4bf94deff3b0728aeeaXXXfX81 |         1 | 0000-00-00 00:00:00 |
| 850 | 2016-04-29 11:54:14 | 7926XXXXXXX | BX:XX:XX:XX:XX:AB | 10.0.0.ZZ    | zzzzz | 5115888498 | XX.XX.XX.XX    | 8387824c76d88e306f5099704XXXXx69 |         0 | 0000-00-00 00:00:00 |
| 851 | 2016-04-29 12:05:36 | 7926XXXXXXX | 00:XX:XX:XX:XX:59 | 10.0.0.ZZ    | zzzzz | 5115890670 | XX.XX.XX.XX    | 3536f78c3b59d0cf6593d452cXXXXX69 |         0 | 0000-00-00 00:00:00 |

733 rows in set (0.01 sec)

После вот такой операции, которая, как ожидалось, должна была установить в NULL все записи из столбца activate_time

mysql> update sms_code set activate_time=NULL;
Query OK, 733 rows affected (0.04 sec)
Rows matched: 733  Changed: 733  Warnings: 0

 

Получилось всё совсем по-другому:

 

mysql> SELECT * from sms_code;
| id  | time                | phone       | mac               | ip           | code  | mid        | remote_ip      | token                            | activated | activate_time       |
|  68 | 2016-04-29 13:33:01 | 7926XXXXXXX | 00:XX:XX:XX:XX:8C | 10.0.yyy.yyy | zzzzz |      12345 | XX.XX.XX.XX    | 93b4179808ca224477fff08d2XXX54X0 |         1 | NULL                |
|  69 | 2016-04-29 13:33:01 | 7926XXXXXXX | BX:XX:XX:XX:XX:AB | 10.0.yyy.yyy | zzzzz | 5061652143 | XX.XX.XX.XX    | a9c398ca7e92f5cc9037291e7XXXX1Xf |         1 | NULL                |
ВЫРЕЗАНО
| 849 | 2016-04-29 13:33:01 | 7926XXXXXXX | 00:XX:XX:XX:XX:59 | 10.0.0.25    | zzzzz | 5115879796 | XX.XX.XX.XX    | cb3e2c4bf94deff3b0728aeeaXXXfX81 |         1 | NULL                |
| 850 | 2016-04-29 13:33:01 | 7926XXXXXXX | BX:XX:XX:XX:XX:AB | 10.0.0.13    | zzzzz | 5115888498 | XX.XX.XX.XX    | 8387824c76d88e306f5099704XXXXx69 |         0 | NULL                |
| 851 | 2016-04-29 13:33:01 | 7926XXXXXXX | 00:XX:XX:XX:XX:59 | 10.0.0.25    | zzzzz | 5115890670 | XX.XX.XX.XX    | 3536f78c3b59d0cf6593d452cXXXXX69 |         0 | NULL                |
733 rows in set (0.01 sec)

 

А именно - activate_time обNULLился, но вместе с ним установилось значение столбца time в текущее время.

 

Да как так-то, а? (с) RED21

Share this post


Link to post
Share on other sites

скорее всего триггер есть на изменение таблицы, откройте свойства таблицы и посмотрите

Edited by Svyatoybog

Share this post


Link to post
Share on other sites

Тип данных столбца time ?

триггеры на таблицу ?

Вот оно чё!

`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

На UPDATE внимание не обратил.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.