2015-06-27 42 views
0

我有一個使用具有這樣創建的特殊字符枚舉表:SQL無法識別的Unicode枚舉值

create table test(test enum('Não informado', 
'A selecionar', 
'Em contratação', 
'Ação Preparatória', 
'Em licitação de obra', 
'Em licitação de projeto', 
'Em obras', 
'Em execução', 
'Concluído', 
'Em operação')) 

和我想要的行添加到它:

insert into test(test) 
values('Concluído') 

但SQL給我的錯誤

Error Code: 1265. Data truncated for column 'test' at row 1 

我做錯了什麼? 我該如何解決這個問題?

我正在運行的MySQL服務器版本23年6月5日,登錄 MySQL社區

回答

1

你必須使用UTF-8字符集和校對你的枚舉的定義,如:

create table test(test enum('Não informado', 
          'A selecionar', 
          'Em contratação', 
          'Ação Preparatória', 
          'Em licitação de obra', 
          'Em licitação de projeto', 
          'Em obras', 
          'Em execução', 
          'Concluído', 
          'Em operação') 
         CHARACTER SET utf8 COLLATE utf8_unicode_ci); 

Demo here

+0

工作就像一個魅力。謝謝! –