"jquery_file_upload.id is part of the primary key but is not specified to be 'not null'" I have installed the jQuery File Upload module, and I get the following error:


  jquery_file_upload.id is part of the primary key but is not specified to be 'not null'


What does that error message mean, and how can I resolve it?
The error message is about the schema currently used by the module, which defines the primary key using the following code.

function jquery_file_upload_schema() {
  $schema['jquery_file_upload'] = array(
      'description' =&gt; t('Stores files sizes for each user.'),
      'fields' =&gt; array(
          'id' =&gt; array(
              'description' =&gt; t('auto increment'),
              'type' =&gt; 'serial',
              'size' =&gt; 'normal',
          ),
          'uid' =&gt; array(
              'description' =&gt; t('registered user'),
              'type' =&gt; 'int',
              'unsigned' =&gt; TRUE,
              'not null' =&gt; TRUE,
              'default' =&gt; 0,
          ),
          'file_name' =&gt; array(
              'description' =&gt; t('File Name.'),
              'type' =&gt; 'varchar',
              'length' =&gt; '255',
              'not null' =&gt; TRUE,
          ),
          'file_size' =&gt; array(
              'description' =&gt; t('File Size.'),
              'type' =&gt; 'float',
              'size' =&gt; 'big',
              'default' =&gt; 0,
          ),
      ),
      'primary key' =&gt; array('id'),
  );
  return $schema;
}


The correct definition would be the following one, as the fields that are part of the primary key should be declarated as "NOT NULL."

function jquery_file_upload_schema() {
  $schema['jquery_file_upload'] = array(
      'description' =&gt; t('Stores files sizes for each user.'),
      'fields' =&gt; array(
          'id' =&gt; array(
              'description' =&gt; t('auto increment'),
              'type' =&gt; 'serial',
              'size' =&gt; 'normal',
              'not null' =&gt; TRUE,
          ),
          'uid' =&gt; array(
              'description' =&gt; t('registered user'),
              'type' =&gt; 'int',
              'unsigned' =&gt; TRUE,
              'not null' =&gt; TRUE,
              'default' =&gt; 0,
          ),
          'file_name' =&gt; array(
              'description' =&gt; t('File Name.'),
              'type' =&gt; 'varchar',
              'length' =&gt; '255',
              'not null' =&gt; TRUE,
          ),
          'file_size' =&gt; array(
              'description' =&gt; t('File Size.'),
              'type' =&gt; 'float',
              'size' =&gt; 'big',
              'default' =&gt; 0,
          ),
      ),
      'primary key' =&gt; array('id'),
  );
  return $schema;
}


There is nothing you can do, if not opening an issue report for the module, in its issue queue. Be sure there isn't already a report about that.