Heim  >  Artikel  >  Datenbank  >  So fragen Sie sql_mode in MySQL ab und legen es fest

So fragen Sie sql_mode in MySQL ab und legen es fest

青灯夜游
青灯夜游nach vorne
2021-09-07 19:24:162773Durchsuche

Wie kann ich sql_mode in

MySQL abfragen und festlegen? Der folgende Artikel stellt Ihnen die Abfrage- und Einstellungsmethoden von sql_mode in MySQL vor.

So fragen Sie sql_mode in MySQL ab und legen es fest

MySQLs sql_mode-Abfrage und -Einstellung

1, SQL zum Anzeigen ausführen [Verwandte Empfehlungen: MySQL-Video-Tutorial]

select @@session.sql_mode;

Globale Ebene: Anzeigen.

select @@global.sql_mode;

2, ändern

set @@session.sql_mode='xx_mode'set session sql_mode='xx_mode'

Globale Ebene: Ändern

set global sql_mode='xx_mode';set @@global.sql_mode='xx_mode';

Sitzung kann weggelassen werden, die Standardsitzung ist nur für die aktuelle Sitzung gültig
Globale Änderung erfordert erweiterte Berechtigungen, sie wird nur für die nächste Verbindung wirksam, hat keinen Einfluss auf die aktuelle Sitzung und wird nach dem Neustart von MySQL ungültig. Da MySQL beim Neustart den entsprechenden Wert in der Konfigurationsdatei erneut liest, müssen Sie den Wert in der Konfigurationsdatei ändern, wenn er dauerhaft sein soll.

vi /etc/my.cnf
[mysqld]sql-mode = "xx_mode"

Speichern und beenden, Server neu starten, es wird dauerhaft wirksam in GROUP BY erscheinen, dann ist diese SQL ungültig, da die Spalte nicht in der GROUP BY-Klausel enthalten ist. In den Standardeinstellungen bedeutet das Einfügen von 0 oder NULL, dass der nächste automatisch steigende Wert generiert wird. Diese Option ist nützlich, wenn der Benutzer einen Wert von 0 einfügen möchte und die Spalte automatisch vergrößert wird.

STRICT_TRANS_TABLES

Wenn in diesem Modus ein Wert nicht in eine Transaktionstabelle eingefügt werden kann, wird der aktuelle Vorgang unterbrochen und es gibt keine Begrenzung für Nicht-Transaktionstabellen

NO_ZERO_IN_DATE

Im strikten Modus , nicht zulässig. Das Datum oder der Monat ist Null. Solange der Monat oder Tag des Datums einen Wert von 0 enthält, wird ein Fehler gemeldet, mit Ausnahme von „0000-00-00“. Bei diesem Wert lässt die MySQL-Datenbank das Einfügen von Nulldaten nicht zu. Das Einfügen eines Nulldatums löst einen Fehler anstelle einer Warnung aus. Alle Angaben zu Jahr, Monat und Tag, die nicht 0 sind, erfüllen die Anforderungen. Nur „

0000-00-00

“ meldet einen Fehler

ERROR_FOR_pISION_BY_ZERO

Während des INSERT- oder UPDATE-Vorgangs, wenn die Daten geteilt werden durch Null wird stattdessen eine Fehlermeldung ausgegeben. Wenn der Modus nicht angegeben ist, gibt MySQL NULL zurück, wenn die Daten durch Null geteilt werden. Nach dem Festlegen des Modus wird ein Fehler gemeldet. Der Wert von Num ist erfolgreich ist null. Wenn dieser Wert nicht festgelegt ist, wird stattdessen die Standardspeicher-Engine verwendet und eine Ausnahme ausgelöst.

PIPES_AS_CONCAT

behandelt „||“ als String-Verbindungsoperator und nicht als OR-Operator, was mit der Oracle-Datenbank identisch ist Es ähnelt auch der String-Splicing-Funktion Concat

ANSI_QUOTES

Nach der Aktivierung von ANSI_QUOTES können Sie keine doppelten Anführungszeichen verwenden, um die Zeichenfolge in Anführungszeichen zu setzen, da diese als Bezeichner interpretiert wird

Weitere Kenntnisse in Bezug auf die Programmierung finden Sie unter: Programmiervideos! !

Das obige ist der detaillierte Inhalt vonSo fragen Sie sql_mode in MySQL ab und legen es fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen