title: How to check if a variable is NULL, then set it with a MySQL stored procedure?
body: <p>I have a MySQL stored procedure where I find the max value from a table. </p>
  
  <p>If there is no value I want to set the variable to yesterday's date.</p>
  
  <pre><code>DECLARE current_procedure_name CHAR(60) DEFAULT 'accounts_general';
  DECLARE last_run_time datetime DEFAULT NULL;
  DECLARE current_run_time datetime DEFAULT NOW();
  
  -- Define the last run time
  SET last_run_time := (SELECT MAX(runtime) 
  FROM dynamo.runtimes WHERE procedure_name = @current_procedure_name);
  
  -- if there is no last run time found then use yesterday as starting point
  IF(@last_run_time IS NULL) THEN
      SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 DAY);
  END IF;
  
  SELECT @last_run_time;
  </code></pre>
  
  <p>The problem is that <code>@last_run_time</code> is always NULL.</p>
  
  <p>The following code is not being executed for some reason</p>
  
  <pre><code>IF(last_run_time IS NULL) THEN
      SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 DAY);
  END IF;
  </code></pre>
  
  <p>How can I set the variable <code>@last_run_time</code> correctly? </p>