使用该语句后,更改列默认值不会生效

时间:2015-06-26 22:05:12

标签: mysql sql mysql-error-1064

我正在尝试使用

更改列的默认值
alter table table_Name alter MODIFY col_Name tinyint(1) NOT NULL DEFAULT 0;

执行上述命令后,我看到25行受影响。但是当我跑步时

select * from table_Name;我仍然看到旧价值。

此外,当我插入新值时,我仍然看到默认设置为1.为什么?

1 个答案:

答案 0 :(得分:4)

设置默认值(如评论中所述)旧行不会受到影响。

您的原始行将保持不变。要更改它们,您需要执行UPDATE查询

UPDATE TABLE table_name SET col_name=1 WHERE <condition>

现在为什么你的新行没有更新。你的语法错了。这是正确的语法

alter table table_Name MODIFY col_Name tinyint(1) NOT NULL DEFAULT 0;

table_name

之后没有第二次改变