I've built a custom field using the Field API. I've defined the following element: $element['tabcontent'] = array( '#title' => t('Tab content'), '#type' => 'text_format', '#required' => $required, // use #default_value to prepopulate the element // with the current saved value '#default_value' => isset($item['tabcontent']) ? $item['tabcontent'] : '', '#tree' => true, '#rows' => 10, '#format' => 'full_html', '#base_type' => 'textarea', ); I've got the following code in the install file: function tabfield_field_schema($field) { $columns = array( 'tabtitle' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE), 'tabcontent' => array('type' => 'text','not null' => TRUE,'size' => 'normal','description' => 'Question prompt','length' => '1000' ), ); return array( 'columns' => $columns, 'indexes' => array(), ); } However, I get the following error when saving a new node: > Warning: preg_match_all() expects parameter 2 to be string, array > given in _media_generate_tagMap() (line 186 of > C:\Workspace\RnD\drupal1\sites\all\modules\media\includes\media.filter.inc). > Warning: Invalid argument supplied for foreach() in > _media_generate_tagMap() (line 187 of C:\Workspace\RnD\drupal1\sites\all\modules\media\includes\media.filter.inc). > Warning: htmlspecialchars() expects parameter 1 to be string, array > given in check_plain() (line 1572 of > C:\Workspace\RnD\drupal1\includes\bootstrap.inc). > PDOException: > SQLSTATE[21S01]: Insert value list does not match column list: 1136 > Column count doesn't match value count at row 1: INSERT INTO > {field_data_field_tab} (entity_type, entity_id, revision_id, bundle, > delta, language, field_tab_tabtitle, field_tab_tabcontent) VALUES > (:db_insert_placeholder_0, :db_insert_placeholder_1, > :db_insert_placeholder_2, :db_insert_placeholder_3, > :db_insert_placeholder_4, :db_insert_placeholder_5, > :db_insert_placeholder_6, :db_insert_placeholder_7_value, > :db_insert_placeholder_7_format); Array ( [:db_insert_placeholder_0] > => node [:db_insert_placeholder_1] => 17 [:db_insert_placeholder_2] => 17 [:db_insert_placeholder_3] => tabbed_page > [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => und > [:db_insert_placeholder_6] => ss [:db_insert_placeholder_7_value] => > ss [:db_insert_placeholder_7_format] => full_html ) in > field_sql_storage_field_storage_write() (line 448 of > C:\Workspace\RnD\drupal1\modules\field\modules\field_sql_storage\field_sql_storage.module).