Heim >Datenbank >MySQL-Tutorial >So stellen Sie die Groß-/Kleinschreibung in MySQL ein

So stellen Sie die Groß-/Kleinschreibung in MySQL ein

青灯夜游
青灯夜游Original
2022-01-06 12:00:0612390Durchsuche

So stellen Sie die Groß-/Kleinschreibung in MySQL ein: 1. Öffnen und bearbeiten Sie die Datei „my.cnf“. 2. Suchen Sie das Element „lower_case_table_names“ und setzen Sie den Wert des Elements auf „1“.

So stellen Sie die Groß-/Kleinschreibung in MySQL ein

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, MySQL8-Version, Dell G3-Computer.

1. Prinzipien und Parameter

Die MySQL-Groß-/Kleinschreibungskonfiguration hängt mit zwei Parametern zusammen: lower_case_file_system und Lower_case_table_names die aktuelle Systemdatei Ob die Groß-/Kleinschreibung beachtet wird (EIN bedeutet nicht beachtet, AUS bedeutet beachtet), schreibgeschützte Parameter und können nicht geändert werden.

lower_case_table_names: Gibt an, ob beim Tabellennamen die Groß-/Kleinschreibung beachtet wird und geändert werden kann.

  • lower_case_table_names = 0, MySQL arbeitet direkt basierend auf dem Tabellennamen, wobei die Groß-/Kleinschreibung beachtet wird.

  • lower_case_table_names = 1, MySQL konvertiert zunächst den Tabellennamen in Kleinbuchstaben, bevor der Vorgang ausgeführt wird.

    • 2. Vorbereitung vor der Änderung
    • Aufgrund von

      konvertiert MySQL beim Erstellen der Tabelle zunächst den Tabellennamen in Großbuchstaben und wird nach dem Festlegen der Groß-/Kleinschreibung nicht gefunden. Es fühlt sich an, als würde Oracle eine Tabelle erstellen und „test“ zum Erstellen einer Tabelle schreiben und dann „select * from test“ verwenden, um sie zu finden, da Oracle „test“ automatisch in Großbuchstaben umwandelt.

    • Also müssen wir zuerst alle Tabellennamen in der Bibliothek in Kleinbuchstaben ändern. In MySQL gibt es keine integrierte Methode. Sie können eine gespeicherte Prozedur schreiben, um sie zu ändern.
    show global variables like '%case%';
     
    +------------------------+-------+
    | Variable_name          | Value |
    +------------------------+-------+
    | lower_case_file_system | ON    |
    | lower_case_table_names | 0     |
    +------------------------+-------+
  • 3. Formale Einstellungen

vi my.cnf-Datei, setze Lower_case_table_names = 1,

Es wird nach dem Neustart von MySQL wirksam

lower_case_table_names = 1

DELIMITER //  
    
DROP PROCEDURE IF EXISTS lowercase //  
CREATE PROCEDURE lowercase(IN dbname VARCHAR(200))  
BEGIN     
DECLARE done INT DEFAULT 0;  
DECLARE oldname VARCHAR(200);  
DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema = dbname;  
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;  
 
OPEN cur;  
REPEAT  
FETCH cur INTO oldname;  
SET @newname = LOWER(oldname);  
    
#IF newname equals to oldname, do nothing;  
#select &#39;a&#39; <> &#39;A&#39;; -> 0  
#select &#39;a&#39; <> BINARY &#39;A&#39;; -> 1  
SET @isNotSame = @newname <> BINARY oldname;  
IF NOT done && @isNotSame THEN 
SET @SQL = CONCAT(&#39;rename table &#39;,oldname,&#39; to &#39;,@newname);
PREPARE tmpstmt FROM @SQL;      
EXECUTE tmpstmt;      
DEALLOCATE PREPARE tmpstmt;      
END IF;      
UNTIL done END REPEAT;      
CLOSE cur;     
END //      
DELIMITER ;
 
#调用存储过程 
#call lowercase(&#39;TEST&#39;);
#TEST为你想要修改的数据库的名称

[Verwandte Empfehlungen:

MySQL-Video-Tutorial

]

Das obige ist der detaillierte Inhalt vonSo stellen Sie die Groß-/Kleinschreibung in MySQL ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn