sql >> Database teknologi >  >> RDS >> Mysql

#1442 - Tabellen '*' kan ikke opdateres i gemt funktion/trigger, fordi den allerede bruges af sætning, der påkaldte denne lagrede funktion/trigger

Det vil ikke tillade dig at opdatere tabellen, fordi den allerede læses af INSERT INTO.. SELECT forespørgsel, der påkalder denne trigger.

En alternativ måde ville være at deaktivere triggeren og opdatere brugertabellen separat, f.eks.:

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 tilføje en sammenføjningskolonne med ON klausul, hvis der er en kolonne, der forbinder disse to tabeller.




  1. mysql (5.1)> opret tabel med navn fra en variabel

  2. Gruppér efter LIKE af en kolonneværdi

  3. Udskiftning af System.Data.OracleClient til Oracle.DataAccess (ODP.NET)

  4. Sådan finder du alle forbundne undergrafer i en urettet graf