Mysql Alter命令和默认键

Mysql Alter命令和默认键,mysql,database,alter,Mysql,Database,Alter,我想通过alter命令将默认值添加到现有列中 alter table Student_Details modify column Student_Class enum('First','Second','Third') Default '{1}' ; 是否有办法做到这一点。枚举数据类型的要点是只允许列中的某些值。在您的例子中,这是“第一”,“第二”和“第三”。因此,不能将'{1}'指定为默认值。您可能听说过,您也可以使用枚举中每个值的索引,但随后可以使用1而不是'1',当然也不能使用{1}。“

我想通过alter命令将默认值添加到现有列中

alter table Student_Details modify column Student_Class enum('First','Second','Third') Default '{1}' ;

是否有办法做到这一点。

枚举数据类型的要点是只允许列中的某些值。在您的例子中,这是
“第一”
“第二”
“第三”
。因此,不能将
'{1}'
指定为默认值。您可能听说过,您也可以使用枚举中每个值的索引,但随后可以使用
1
而不是
'1'
,当然也不能使用
{1}
使其成为字符串而不是数字,
{}
只是语法无效。实际上,我还没有尝试为索引分配默认值,我不知道它是否有效。事实上,我避免像毒药一样枚举,这是一些原因

不管怎样,去吧

alter table Student_Details modify column Student_Class enum('First','Second','Third') Default 'First';

它应该可以工作。

好吧,你在
enum('First','Second','Third')的声明中看到
{1}
了吗?不这就是您的错误。@fancyPants我在对Alter命令使用default关键字时出错,“Alter table Student\u Details modify column Student\u Class int Not Null默认值“{1}”