Mit MySQL, wenn Sie das Kennwort ändern möchten, oder Zeichensatz, können Sie es tun, wie folgend:Warum wird ALTER TABLE zum Ändern der AUTO_INCREMENT-Variablen verwendet?
SET CHARACTER_SET_RESULTS = 'utf8';
Aber wenn Sie die autoincrement Variable einer Tabelle ändern möchten, müssen Sie eine andere Syntax für die :
ALTER TABLE foobar AUTO_INCREMENT=1;
Das macht mich, wenn sie es, wenn es konsequent wäre, sich zu fragen, war wie folgt:
SET AUTO_INCREMENT=1;
Weil 0 einigeOperationen gelten für den Tisch. Aber ich nehme an, dass es einige Gründe für diese Syntaxwahl geben muss. Beim Suchen in der Dokumentation habe ich Folgendes gefunden:
ALTER TABLE ändert die Struktur einer Tabelle. Sie können z. B. hinzufügen oder Spalten löschen, Indizes erstellen oder löschen, den Typ der vorhandenen Spalten ändern oder Spalten oder die Tabelle selbst umbenennen. Sie können auch Merkmale wie die Speicher-Engine ändern, die für die Tabelle oder den Tabellenkommentar verwendet wird.
Aber mit SET
Schlüsselwort können Sie auch die Struktur der Tabelle ändern, nehme ich an? Bitte korrigieren Sie mich, wenn ich mich irre.
Das automatische Inkrement ist eine Eigenschaft einer Tabelle, daher müssen Sie die Tabelle ändern. Ich verstehe nicht, wie du denkst, dass es eine gute Idee wäre, es global zu setzen/für deine Verbindung. –
'AUTO_INCREMENT' ist keine Variable auf System-/Serverebene, es ist ein Spaltenattribut, während 'CHARACTER_SET_RESULTS' eine Variable auf System-/Serverebene ist, weshalb Sie die' ALTER TABLE'-Syntax verwenden müssen. –