title: MySQL - what happends when update a column by rand() or by now()?
body: <p>I have a table:</p>
  
  <pre><code>CREATE TABLE `test` (
   `t` varchar(255) DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8
  </code></pre>
  
  <p>and update it by:</p>
  
  <pre><code>update test set t = rand();
  </code></pre>
  
  <p>then the data in the table is:</p>
  
  <pre><code>+---------------------+
  | t                   |
  +---------------------+
  | 0.24891147599454175 |
  | 0.5710943421079725  |
  | 0.10873731328988198 |
  +---------------------+
  </code></pre>
  
  <p>as you see, every 't' is different</p>
  
  <p>when update the table using:</p>
  
  <pre><code>update test set t = now(6);
  </code></pre>
  
  <p>and every 't' is the same:</p>
  
  <pre><code>+----------------------------+
  | t                          |
  +----------------------------+
  | 2018-03-13 23:40:40.380817 |
  | 2018-03-13 23:40:40.380817 |
  | 2018-03-13 23:40:40.380817 |
  +----------------------------+
  </code></pre>
  
  <p>what happends when update a column by rand() or by now()?</p>