我正在使用MySql5.5。
我有一个表media__gallery
,我希望将列default_format
的默认值从'NO'
更改为'YES'
,但是当我编写查询并运行命令时行没有更新。
我的查询:
ALTER TABLE `media__gallery` CHANGE `default_format` `default_format` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT 'YES';
MySql表:
mysql> desc media__gallery;
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| context | varchar(64) | NO | | NULL | |
| default_format | varchar(255) | NO | | NULL | |
| enabled | tinyint(1) | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
| created_at | datetime | NO | | NULL | |
| category_id | int(11) | YES | UNI | NULL | |
+----------------+--------------+------+-----+---------+----------------+
我在这里缺少什么?
答案 0 :(得分:1)
ALTER TABLE media_gallery
ALTER COLUMN default_format SET DEFAULT 'YES'
这应该可以解决问题。
答案 1 :(得分:0)
试试这个:
ALTER TABLE `media__gallery`
CHANGE COLUMN `default_format` `default_format` VARCHAR(255) NULL DEFAULT 'YES'
必须手动设置旧值
UPDATE `media__gallery` SET `default_format`='YES' WHERE `default_format`='NO'