sql >> Databasteknik >  >> RDS >> Mysql

#1442 - Kan inte uppdatera tabellen '*' i lagrad funktion/trigger eftersom den redan används av sats som anropade denna lagrade funktion/trigger

Det kommer inte att tillåta dig att uppdatera tabellen eftersom den redan läses av INSERT INTO.. SELECT fråga som anropar denna utlösare.

Ett alternativt sätt skulle vara att inaktivera utlösaren och uppdatera användartabellen separat, t.ex.:

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";

UPDATE users join time_of_game SET users.credit = users.credit-1
where time_of_game.time_of_start="2017-02-01 12:00:00"
AND users.steamid="1234567890123456";

Du kan lägga till en kopplingskolumn med ON om det finns någon kolumn som länkar dessa två tabeller.




  1. Python SQLAlchemy Query:AttributeError:'Connection'-objektet har inget attribut 'contextual_connect'

  2. PostgreSql :Json Array till rader med hjälp av Lateral Join

  3. postgresql nextval genererar befintliga värden

  4. Lagring av ID:n som kommaseparerade värden