sql >> Database >  >> RDS >> Mysql

Roep pusher op wanneer mysql is gewijzigd

Roep PubNub PUSH-bericht op via MySQL-trigger bij UPDATE, INSERT en DELETE

MySQL Maakt het eenvoudig om uw codering in gemakkelijk toegankelijke TRIGGERS te stoppen via Opgeslagen procedures. Je kunt iets soortgelijks maken met pusher en ik weet hoe ik het moet doen met PubNub; dus hier is een korte handleiding met PubNub en MySQL. Eenvoud is wat u zoekt en hier is uw oplossing! Ik zal je door een gemakkelijke manier leiden om een ​​UPDATE . te binden , INSERT en VERWIJDEREN actie op uw tafel naar een opgeslagen functie die elke keer wordt aangeroepen, waardoor eenvoudig pushmeldingen naar uw mobiele en web-apps worden verzonden met PubNub.

PubNub-pushbericht

DELIMITER $$
CREATE PROCEDURE push_message
(p1   DOUBLE,
 p2   DOUBLE,
 p3 BIGINT)
BEGIN
 DECLARE cmd CHAR(255);
 DECLARE result CHAR(255);
 SET cmd = CONCAT('curl https://pubsub.pubnub.com/publish/demo/demo/0/mysql_triggers/0/%22',p1, ',' ,p2, ',' ,p3,'%22');
 SET result = sys_eval(cmd);
END$$;

OPMERKING:zorg ervoor dat uw PROCEDURE-typen correct zijn DUBBEL of VARCHAR of TEKST .

MySQL-triggercode INSERT-voorbeeld

CREATE TRIGGER push_message_trigger AFTER INSERT ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);

OPMERKING:zorg ervoor dat u de kolommen die u nodig heeft hier in uw pushbericht opneemt.

MySQL-triggercode UPDATE-voorbeeld

CREATE TRIGGER push_message_trigger AFTER UPDATE ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);

Bewaak het pushbericht via de foutopsporingsconsole

http://www.pubnub.com/console?sub=demo&pub=demo&channel =mysql_triggers - U kunt zien hoe uw triggers worden geactiveerd via PubNub Dev Console. Op deze manier kunt u begrijpen welke parameters u moet wijzigen en welke gegevens belangrijk voor u zijn om op te nemen in elke pushmelding die kan worden ontvangen door PubNub-websocket en meer op het mobiele apparaat en het webapparaat.

Het pushbericht ontvangen in JavaScript

<div id=pubnub ssl=on></div>
<script src=//pubnub.a.ssl.fastly.net/pubnub-3.4.5.min.js></script>
<script>(function(){

    PUBNUB.init({
        subscribe_key : 'demo',
        ssl           : true
    }).subscribe({
        channel  : 'mysql_triggers',
        callback : function(mysql_trigger_details) {
            alert(mysql_trigger_details);
        }
    });

})();</script>

Nu heb je de stappen die nodig zijn om wijzigingsgebeurtenissen te verzenden en te ontvangen rechtstreeks vanuit MySQL via eenvoudige procedures. Er zijn ook manieren om deze methode te optimaliseren, zoals het afgeven van een signaal aan een daemonproces dat HTTPS-pushmeldingen in een wachtrij plaatst en poolt. Dit zou voldoende efficiënt moeten zijn.



  1. SQL tussen niet inclusief

  2. SQLite TOON TABELLEN Equivalent

  3. MySQL ORDER BY Datumveld dat geen datumnotatie heeft

  4. Voeg gegevens in de externe mysql-database in via de POST-methode vanaf een iOS-apparaat