2016-09-26 72 views
1

我是SQL新手,在數據庫中有一個測試表。我意識到,我以前的標題大小分配太小,所以我想通過運行以下命令來增加它從一個VARCHAR(120)爲VARCHAR(500):修改表格以修改不終止的列類型

ALTER TABLE test MODIFY title VARCHAR(500);

不過這種說法從來沒有終止,即使該表包含少於20個條目。

我在這裏錯過了什麼嗎?

編輯:我是立足該命令關閉的these answers,但我也試過:

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

這並不要麼終止。

回答

1

由於你沒有得到一個語法錯誤,你有隻有少數行的,最可能的原因是,有另一個在這個表上持有鎖的進程。請連接您打開的任何其他客戶端。這可能是mysql工作臺的其他實例,長時間運行的腳本,django控制檯以及很多東西。

然後再次嘗試查詢。如果仍然無效,請嘗試SHOW OPEN TABLES

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

+0

就是這樣,我有更早的錯誤的mysql實例:'(1406,「數據太長了列'標題'在第1行)」,這促使我增加varchar在第一位仍在另一個屏幕上運行。 –

0

ALTER TABLE test ALTER COLUMN title VARCHAR(500);

+0

對不起...只是指出這是MySQL的。這是用於SQL Server的 – DanielG

-1

試試這個。

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

我認爲你缺少關鍵字COLUMN

+0

COLUMN的用戶是可選的。 – e4c5

+0

感謝您的快速回復,我也試過這個命令,結果相同。 –