MySQL implementiert die kontinuierliche Anmeldefunktion und startet nach einem Tag der Anmeldung von vorne (SQL-Anweisung).

MySQL implementiert die kontinuierliche Anmeldefunktion und startet nach einem Tag der Anmeldung von vorne (SQL-Anweisung).

1. Erstellen Sie eine Testtabelle

CREATE TABLE `testsign` ( 
 `Benutzer-ID` int(5) DEFAULT NULL, 
 `Benutzername` varchar(20) DEFAULT NULL, 
 `signtime` Zeitstempel NICHT NULL STANDARD CURRENT_TIMESTAMP BEI UPDATE CURRENT_TIMESTAMP, 
 `Typ` int(1) STANDARD '0' KOMMENTAR '0 steht für Anmeldedaten, 1 für Wörterbuchdaten zum Anmeldedatum' 
) ENGINE=InnoDB STANDARD-CHARSET=utf8

2. Testdaten einfügen. Die Anmeldezeit ist vom 21. Mai bis zum 5. Juni. Es kann live geschrieben werden, aber es ist notwendig, eine gespeicherte Prozedur zu schreiben. Ich bin faul. Der Fokus sollte auf dem Code zum Abrufen der Anmeldedaten liegen, was der dritte Punkt ist. Haha

in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „21.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „22.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „23.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „24.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „25.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „26.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „27.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „28.05.2017 00:00:00“, „1“); 
einfügen in „testsign“ („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „29.05.2017 00:00:00“, „1“); 
einfügen in „testsign“ („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „30.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „31.05.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „01.06.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „02.06.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „03.06.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „04.06.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („72164“, „Wörterbuch“, „05.06.2017 00:00:00“, „1“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („800675“, „Wu Xiaoshuang-Anmeldedaten“, „21.05.2017 00:00:00“, „0“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („800675“, „Wu Xiaoshuang-Anmeldedaten“, „22.05.2017 00:00:00“, „0“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („800675“, „Wu Xiaoshuang-Anmeldedaten“, „23.05.2017 00:00:00“, „0“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („800675“, „Wu Xiaoshuang-Anmeldedaten“, „24.05.2017 00:00:00“, „0“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („800675“, „Wu Xiaoshuang-Anmeldedaten“, „25.05.2017 00:00:00“, „0“); 
in „Testsign“ einfügen („Benutzer-ID“, „Benutzername“, „Signaturzeit“, „Typ“) Werte („800675“, „Wu Xiaoshuang-Anmeldedaten“, „26.05.2017 00:00:00“, „0“);

3. Kontinuierliche Anmeldedaten abfragen

Wählen Sie * aus Testzeichen, wobei Typ = 0 und 
 DATE_FORMAT(Signaturzeit,'%Y%m%d')>( 
 Wählen Sie IFNULL (MAX (DATE_FORMAT (Signtime, '%Y%m%d')), "20170520") aus Testsign, wobei Typ = 1 ist. 
 UND DATE_FORMAT(signtime,'%Y%m%d')<=DATE_ADD(NOW(), INTERVALL -1 TAG) 
 UND DATE_FORMAT(signtime,'%Y%m%d') NICHT IN ( 
    Wählen Sie DATE_FORMAT (Signaturzeit, '%Y%m%d') aus Testsign, wobei Typ = 0 und Benutzer-ID = 800675 ist. 
    ) 
 ) 
 UND DATE_FORMAT(signtime,'%Y%m%d')<='20170605' 
 UND Benutzer-ID=800675

Unterbrechungsfreie Daten

Löschen Sie die Daten am 23., beginnen Sie am 24. mit der Zählung und unterschreiben Sie an drei aufeinanderfolgenden Tagen

Oben sehen Sie die MySQL-Implementierung der vom Herausgeber eingeführten kontinuierlichen Anmeldefunktion. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • SQLSERVER protokolliert die Login-Zeit des angemeldeten Benutzers (selbstgeschriebenes Skript)
  • So fragen Sie die maximale Anzahl aufeinanderfolgender Anmeldetage zwischen zwei Daten in MySQL ab
  • So fragen Sie die maximale Anzahl aufeinanderfolgender Anmeldetage zwischen zwei Daten in MySQL ab
  • SQL-Abfrageanweisung zum Ermitteln der Anzahl aufeinanderfolgender Anmeldetage eines Benutzers

<<:  Eine kurze Analyse zum Upgrade von PHP 5.4 auf 5.6 in CentOS 7

>>:  Detaillierte Erklärung zur Verwendung des scp-Befehls zum Remote-Kopieren von Dateien unter Linux

Artikel empfehlen

Beispiel für die Implementierung der Graphql-Schnittstelle in Vue

Hinweis: In diesem Artikel geht es um die grundle...

MySQL-Tutorial versteht gespeicherte Prozeduren gründlich

Inhaltsverzeichnis 1. Konzepte im Zusammenhang mi...

Quellcodeanalyse des Nodejs-Modulsystems

Inhaltsverzeichnis Überblick CommonJS-Spezifikati...

So verwenden Sie Provide zur Implementierung der Statusverwaltung in Vue3

Inhaltsverzeichnis Vorwort So implementieren Sie ...

Definition und Funktion des zoom:1-Attributs in CSS

Heute wurde ich gefragt, wozu das Zoom-Attribut i...

So konfigurieren Sie Nginx zur Rückgabe von Text oder JSON

Manchmal müssen Sie beim Anfordern bestimmter Sch...

So unterscheiden Sie MySQLs innodb_flush_log_at_trx_commit und sync_binlog

Die beiden Parameter innodb_flush_log_at_trx_comm...

Detaillierte Erklärung zum Anpassen des Stils von CSS-Bildlaufleisten

Dieser Artikel stellt den CSS-Bildlaufleistensele...

Detaillierte Erklärung des HTML-Seitenkopfcodebeispiels

Wissenspunkt 1: Legen Sie die Basis-URL der Webse...

Schreiben von Methoden, die in nativem JS verboten sein sollten

Inhaltsverzeichnis Funktionen auf Blockebene Ände...

So finden Sie die my.ini-Konfigurationsdatei in MySQL 5.6 unter Windows

Machen Sie sich eine Notiz, damit Sie später dara...

Probleme mit der Rancher-Bereitstellung und dem Importieren von K8S-Clustern

Die Rancher-Bereitstellung kann über drei Archite...