title: #1442 - Can't update table '*' in stored function/trigger because it is already used by statement which invoked this stored function/trigger
body: <p>I'm really bad at SQL, but I'm trying to keep my database simple and minimalistic as possible. Not duplicating values but using references and id's instead.</p>
  
  <p>Now after inserting a query I get error</p>
  
  <blockquote>
    <p>1442 - Can't update table 'signed' in stored function/trigger because it is already used by statement which invoked this stored function/trigger</p>
  </blockquote>
  
  <p>Query can be inserted when the trigger is disabled. But my query is only reading from table 'users' so there should not be a conflict. I read something about deadlock - the query is locking table while using it or something like that and therefore a trigger cannot update a row? Ideas how could I achieve this?</p>
  
  <p>I simplified my query so only important things are there.</p>
  
  <p>Query:</p>
  
  <pre><code>INSERT INTO signed (time_of_start, player)
      SELECT time_of_game_id, users.user_id 
      FROM time_of_game, users
      WHERE time_of_game.time_of_start = "2017-02-01 12:00:00"
        AND users.steamid = "1234567890123456";
  </code></pre>
  
  <p>Trigger:</p>
  
  <pre><code>CREATE TRIGGER `payment_for_joining` 
  AFTER INSERT ON `signed`
  FOR EACH ROW 
      UPDATE users  
      SET users.credit = users.credit-1
      WHERE users.user_id = NEW.player
  </code></pre>