更改表以修改不终止的列类型

时间:2016-09-26 15:14:50

标签: mysql alter-table

我是SQL的新手,并且在数据库中有一个测试表。我意识到我之前的标题大小分配太小,所以我想通过运行以下命令将它从VARCHAR(120)增加到VARCHAR(500):

ALTER TABLE test MODIFY title VARCHAR(500);

但该语句永远不会终止,即使该表包含少于20个条目。

我在这里错过了什么吗?

编辑:我的命令是基于these answers,但我也试过了:

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

也不会终止。

3 个答案:

答案 0 :(得分:2)

由于您没有收到语法错误且只有少量行,最可能的原因是还有另一个进程在此表上持有锁。请连接您已打开的任何其他客户端。这可能是mysql工作台的其他实例,长时间运行的脚本,django控制台等等。

然后再次尝试查询。如果仍然无效,请尝试SHOW OPEN TABLES

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

答案 1 :(得分:0)

ALTER TABLE test ALTER COLUMN title VARCHAR(500);

答案 2 :(得分:-1)

试试这个。

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

我认为您错过了关键字 COLUMN