更改MySQL表的表结构

时间:2011-02-15 10:23:42

标签: mysql alter

重新访问MySQL,并尝试更改表的结构。我想将varchar(30)中的两行更改为更高的行。

我搜索了它,并尝试了看似正确的语句,但我收到了语法错误:

ALTER TABLE 'compdetails' CHANGE 'compName' varchar(60) not null;

但是这句话给我一个语法错误。我也试过没有''围绕表/列名称没有任何运气。

  

“错误2064(42000):您有错误   在你的SQL语法....“

有人可以慢慢记忆吗?

3 个答案:

答案 0 :(得分:1)

就这样:

ALTER TABLE 'compdetails' CHANGE compName compName varchar(60) not null;

答案 1 :(得分:1)

ALTER TABLE `compdetails` MODIFY COLUMN `compName` varchar(60) not null;

答案 2 :(得分:1)

首先,如果你想引用表名,那么你需要使用返回刻度而不是单引号。单引号仅用于字符串文字。

其次,当您要重命名列时使用CHANGE,而MODIFY允许您更改列定义而不重命名。所以你应该使用:

ALTER TABLE compdetails MODIFY compName varchar(60) NOT NULL;

在线MySQL documentation非常好,我建议您在遇到语法问题时进行检查。