在MySQL中,是否可以在单个语句中修改列的数据类型并更新该列中的现有数据,从而使其与新的数据类型兼容?或者,例如,我是否需要用新的数据类型创建一个新列,然后使用原始列的数据更新新列的值,然后最后删除原始列?
我想将int(11)更改为time列,该列的原始int(11)数据可以从0到180,从上午8点到晚上11点,表示5分钟的时隙。因此,例如,假设int(11)的原始0数据需要更新为08:00:00的新time数据,或者96更新为16:00:00,等等。
显然,如果我尝试修改列的数据类型,而不对现有数据进行任何“干预”,可以使用以下方法:
ALTER TABLE <table> MODIFY <column> time DEFAULT NULL
.我猜MySQL根本不会允许它发生,因为我的旧数据很可能与新的数据类型不兼容,而且它显然也不知道如何像上面所描述的那样解析数据。
发布于 2022-06-23 18:07:54
不,正如你所描述的那样,你必须分几个步骤去做。
https://stackoverflow.com/questions/72734407
复制相似问题