我的MySQL表中有以下INT列,其中包含两条记录:

我尝试使用以下命令将数据类型更改为ENUM:
`BetalingsStatus` ENUM ('BestillingRegistreret','FakturaSendt','Betalt') NOT NULL,但是我现有的数据丢失了。如何将现有的int值转换为ENUM?
发布于 2018-07-03 11:03:37
创建新列:
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删除旧列:
ALTER TABLE XXX DROP BetalingsStatus;重命名临时列:
ALTER TABLE XXX CHANGE BetalingsStatus_Tmp BetalingsStatus ENUM('BestillingRegistreret','FakturaSendt','Betalt') NOT NULL;https://stackoverflow.com/questions/51137209
复制相似问题