我的MySQL表中有以下INT列,其中有两条记录:
我尝试通过以下方式将数据类型更改为ENUM:
`BetalingsStatus` ENUM ('BestillingRegistreret','FakturaSendt','Betalt') NOT NULL,
但是我现有的数据丢失了。如何将现有的INT值转换为ENUM?
答案 0 :(得分:0)
创建新列:
resolv.conf
更新数据:
ALTER TABLE XXX ADD `BetalingsStatus_Tmp` ENUM('BestillingRegistreret','FakturaSendt','Betalt') NOT NULL DEFAULT '' AFTER BetalingsStatus;
删除旧列:
UPDATE XXXX SET BetalingsStatus_Tmp = CASE BetalingsStatus
WHEN 0 THEN 'BestillingRegistreret'
WHEN 1 THEN 'FakturaSendt'
WHEN 2 THEN 'Betalt'
END
重命名tmp列:
ALTER TABLE XXX DROP BetalingsStatus;