MySQL解决修改列为Not Null报错问题

背景:一开始创建数据库时允许了某一列非空,但是后来又想让这一列属性为非空,直接操作数据库就报了下面的错误:




错误原因是说我这个Table已经存在了。


这可咋整呢,这个表里有我花了半个多小时才填上去的数据,可不能删了这个表再重新创建个表,然后再还原一遍吧,那还不得把人累死。


自己想了老半天,终于想出了一个比较简单的方法:

第一步:创建一个新表,把里面的列名啥的全部写成和你要改的那个表一样,列名的顺序也要一样。

第二步:在你原来那个表的视图中点击下图中的红色框框那个地方,将你的表点击成全部便成蓝色的样子(就像下面这样)


第三步:在蓝色区域右键,选择那个copy row


第四步:点开你刚刚新建的表的视图,还是点击那个位置,使你的表全部成为蓝色,然后右键,点击“Paste Row”,然后你就会发现原来表的内容全部复制到了这张表上,剩下的就是删除原来的表以及将现在这张表的名字改成原来那张表的名字了。

(由于自己已经完成了,再创建个表演示一遍比较麻烦,这里就不贴图了)


当然,我猜这种方法也有局限性,比如说这个视图中只能显示1000行,所以复制的数据我猜可能只能在1000行之内,如果你的表的内容大于1000行,能不能行我也不知道。

猜你喜欢

转载自blog.csdn.net/sinat_41104353/article/details/80546166