我是SQL的新手,并且在数据库中有一个测试表。我意识到我之前的标题大小分配太小,所以我想通过运行以下命令将它从VARCHAR(120)增加到VARCHAR(500):
ALTER TABLE test MODIFY title VARCHAR(500);
但该语句永远不会终止,即使该表包含少于20个条目。
我在这里错过了什么吗?
编辑:我的命令是基于these answers,但我也试过了:
ALTER TABLE test MODIFY COLUMN title VARCHAR(500);
也不会终止。
答案 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