2016-09-26 3 views
1

Ich bin neu in SQL und habe eine Testtabelle in einer Datenbank. Ich erkannte, dass meine vorherigen Titel Größe Zuordnung zu klein war, so möchte ich es von einem VARCHAR erhöhen (120) auf VARCHAR (500), indem Sie den folgenden Befehl ausführen:Ändern Sie die Tabelle, um den Spaltentyp zu ändern, der nicht beendet wird

ALTER TABLE test MODIFY title VARCHAR(500);

Aber diese Aussage nie endet, obwohl die Tabelle weniger als 20 Einträge enthält.

Fehle ich hier etwas?

Edit: Ich war weg von these answers diesen Befehl zu stützen, aber ich habe auch versucht:

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

welche ebenfalls nicht beenden.

Antwort

1

Da Sie keine Syntaxfehler bekommen, und Sie haben nur eine geringe Anzahl von Zeilen, der wahrscheinlichste Grund ist, dass es eine andere ist Prozess, der eine Sperre für diesen Tisch hält. Bitte verbinden Sie alle anderen Clients, die Sie geöffnet haben. Dies könnten andere Instanzen von mysql work bench, ein lang laufendes Skript, die django-Konsole und so viele Dinge sein.

Dann versuchen Sie die Abfrage erneut. Wenn das immer noch nicht funktioniert, versuchen SHOW OPEN TABLES

https://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html

+0

Das war es, die mysql-Instanz mit dem Fehler, den ich früher hatte: '(1406," Daten zu lang für die Spalte 'title' in Zeile 1 "), was mich dazu veranlasste varchar zu erhöhen, lief noch auf einem anderen Bildschirm . –

0

ALTER TABLE-Test ALTER COLUMN-Titel VARCHAR (500);

+0

Sorry ... nur darauf hingewiesen, dies war MySQL. Dies ist für SQL Server – DanielG

-1

Versuchen Sie es.

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

Ich glaube, Sie fehlt das StichwortCOLUMN

+0

Der Benutzer von COLUMN ist optional. – e4c5

+0

Danke für die schnelle Antwort, ich habe auch diesen Befehl versucht, das gleiche Ergebnis. –

Verwandte Themen