Codeigniter создает поле ENUM с помощью dbforge

Я создаю поле ENUM, вот мой код:

$field['test'] = array(
  'type' => 'ENUM',
  'constraint' => array('a','b','c'),
  'default'=> "a"
);
$this->dbforge->add_field($field);
$this->dbforge->create_table('demo'); 

И я получил сообщение:

Номер ошибки: 1064

У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с 'Array) DEFAULT' a 'NOT NULL) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci' в строке 2

СОЗДАТЬ СТОЛ ci_demo (test ENUM (Массив) DEFAULT 'a' NOT NULL) УСТАНОВКА ХАРАКТЕРА ПО УМОЛЧАНИЮ utf8 COLLATE utf8_general_ci;

Пожалуйста, помогите мне, большое спасибо.

1 ответ

Решение

Попробуй это

$field['test'] = array(
'type' => 'ENUM("a","b","c")',
'default' => 'a',
'null' => FALSE,
);
$this->dbforge->add_field($field);
$this->dbforge->create_table('demo'); 

Ссылка

Другие вопросы по тегам