


So lösen Sie das Problem der Verwendung von MySQL bei der Aktualisierung von current_timestamp
Lassen Sie uns zuerst über die Schlussfolgerung sprechen.
Wenn Sie die Zeit für die Aktualisierung mit dem aktuellen Zeitstempel festlegen (ON UPDATE CURRENT_TIMESTAMP), ändert sich beim Aktualisieren des Felds nur der Feldwert. Ihr Zeitfeld ändert sich auf die Zeit des UPDATE-Vorgang.
Das heißt, wenn keine Feldaktualisierung erfolgt, wird das Zeitfeld nicht aktualisiert, obwohl die Aktualisierungsanweisung erfolgreich ausgeführt und ausgeführt wird.
Zum Beispiel erstellen wir eine neue Tabelle:CREATE TABLE `t_temp` ( `id` int(11) NOT NULL DEFAULT '0', `username` varchar(255) DEFAULT NULL, `upd_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '默认取当前时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Dann fügen wir eine Datenzeile ein und führen dann eine Aktualisierung durch.
UPDATE t_temp SET username = 'mm' WHERE id = 1;
In ähnlicher Weise werden im Programm einige Frameworks verwendet, z. B. tk-mybatis, wenn die Aktualisierungsmethode verwendet wird (z. B. die Methode int updateByPrimaryKeySelective (T-Datensatz);), wenn das Feld nicht tatsächlich aktualisiert wird, obwohl die Syntax ausgeführt wird. Das Zeitfeld wird nicht aktualisiert, dies wird im System leicht übersehen.
CURRENT_TIMESTAMP() bezieht sich auf ON UPDATE und den Index
Grundwahrscheinlichkeit
CURRENT_TIMESTAMP() kann den TIMESTAMP-Typ in MYSQL auf die aktuelle Zeit setzen.
ON UPDATE hält dies persönlich für ein Artefakt. Es wird im Allgemeinen verwendet, wenn ein Feld updateTIme ist und die letzte Änderungszeit verwendet wird. Auf diese Weise müssen sich Entwickler nicht selbst darum kümmern, MySQL kann es automatisch erledigen.
Lassen Sie uns zum Schluss über Indizes sprechen. Ich habe vergessen, von wem es ist: Indizes sind eine besondere Art von Dateien (die Indizes in der InnoDB-Datentabelle sind eine Komponente des Tabellenbereichs). auf alle Datensätze in der Datentabelle.
Man kann sagen, dass der Datenbankindex wie das Inhaltsverzeichnis eines Buches ist, was die Geschwindigkeit von Datenbankabfragen erhöhen kann. Indizes werden in Clustered-Indizes und Nicht-Cluster-Indizes unterteilt. Cluster-Indizes werden nach dem physischen Speicherort der Daten geordnet. Nicht-Cluster-Indizes können jedoch die Geschwindigkeit des Abrufs mehrerer Zeilen erhöhen sind schnell für den Abruf einzelner Zeilen.
Wenn Sie zu viele Indizes erstellen, wirkt sich dies auf die Geschwindigkeit der Aktualisierungs- und Einfügevorgänge aus, da jede Indexdatei aktualisiert werden muss. Für eine Tabelle, die häufig aktualisiert und eingefügt werden muss, ist es nicht erforderlich, einen separaten Index für eine selten verwendete where-Klausel zu erstellen. Bei kleineren Tabellen ist der Sortieraufwand nicht sehr groß und es besteht keine Notwendigkeit, zusätzliche Indizes zu erstellen .
Code und Beispiele
Der folgende Tabellenerstellungscode:
CREATE TABLE timeDemo( id VARCHAR(64) NOT NULL, timeTest TIMESTAMP NOT NULL, PRIMARY KEY (id) );
Beim Hinzufügen neuer Daten:
Er erstellt automatisch eine Zeit, z. B. eine Bestelltabelle, wenn er die Zeit der Bestellung aufzeichnen möchte Bestellen Sie einfach diese Methode zur Verarbeitung.Einschließlich Aktualisierungszeit, letzte Aktualisierungszeit:
CREATE TABLE timeDemo2( id VARCHAR(64) NOT NULL, createTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(), updateTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(), PRIMARY KEY (id) );
//Es wird kein Problem mit der oben genannten MySQL-Version 5.7 oder höher geben, aber es wird Probleme mit Versionen unter 5.7 geben
//Für Versionen unter 5.7 wird dies empfohlen Verwenden Sie das Programm zum Einfügen.
Hier verwenden wir 5.5, um die Wirkung von ON UPDATE zu demonstrieren
CREATE TABLE timeDemo3( id VARCHAR(64) NOT NULL, updateTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(), PRIMARY KEY (id) );
Wenn einige Daten in dieser Tabelle geändert werden, wird der Wert von updateTime automatisch aktualisiert.
Bei jeder Aktualisierung dieses Datensatzes wird updateTime automatisch aktualisiert. In diesem Fall muss sich der Programmierer nicht selbst darum kümmern.Hier lässt sich feststellen, dass viele Internetunternehmen leider gerne MySQL 5.7 oder höher verwenden, während traditionelle Branchen immer noch MySQL 5.5 verwenden.
Sprechen wir über Indexschlüssel und Index
CREATE TABLE timeDemo4( id VARCHAR(64) NOT NULL, id2 VARCHAR(64) NOT NULL, updateTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(), PRIMARY KEY (id), KEY(id2) )ENGINE=INNODB DEFAULT CHARSET=utf8
Der einzige Zweck eines normalen Index besteht darin, die Geschwindigkeit des Datenzugriffs zu verbessern. Diese Art von Index wird durch das Schlüsselwort KEY oder INDEX definiert. Daher sollten Indizes nur für diejenigen Datenspalten erstellt werden, die am häufigsten in Abfragebedingungen (Spalte WHERE = ...) oder Sortierbedingungen (Spalte ORDER BY) vorkommen.
Um einen Index zu erstellen, sollten Sie nach Möglichkeit die regelmäßigste und kompakteste Datenspalte auswählen, z. B. eine Datenspalte vom Typ Ganzzahl.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Verwendung von MySQL bei der Aktualisierung von current_timestamp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Der Schlüssel zur eleganten Installation von MySQL liegt darin, das offizielle MySQL -Repository hinzuzufügen. Die spezifischen Schritte sind wie folgt: Laden Sie den offiziellen GPG -Schlüssel von MySQL herunter, um Phishing -Angriffe zu verhindern. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting
