sql >> Database >  >> RDS >> Mysql

MySql voorwaardelijk invoegen met dynamische waarden

In plaats van een trigger kunt u uw eigen eenvoudige query schrijven om de "beperkingen" te controleren voordat u deze invoegt. Probeer:

INSERT INTO member_infos
SELECT      1, 'Timothy', 'secret', '[email protected]', 5, 0
FROM        dual
WHERE       (SELECT COUNT(*) FROM member_infos WHERE Type_ID = 5) 
            < 
            (SELECT Member_Limit FROM member_types WHERE ID = 5)

Ik heb gebruikt om te controleren in het geval van Type_ID =5. Dit negeert als niet aan het telcriterium wordt voldaan en wordt alleen ingevoegd als het aantal leden van items in member_info met type id =5 minder is dan de limiet die is ingesteld in uw member_types tafel



  1. Gebruik COL_LENGTH() om de lengte van een kolom in SQL Server te krijgen

  2. Hoe kan ik alleen de eerste afzonderlijke overeenkomst uit een veld in MySQL selecteren?

  3. MySQL- Kan niet naar rij 0 springen op de MySQL-resultaatindex

  4. voeg twee tabellen samen, fout 1054 onbekende kolom in 'on-clausule'