I'm building a module for Drupal 7, but I have troubles with my schema, and I don't understand why.
This is my schema.
$schema['table_name'] = array( 'fields' => array( 'id' => array( 'type' => 'serial', 'unsigned' => true, 'not null' => true, 'length' => 11 ), 'nid' => array( 'type' => 'int', 'unsigned' => true, 'not null' => true, 'length' => 11 ), 'oid' => array( 'type' => 'int', 'unsigned' => true, 'not null' => true, 'length' => 11 ), 'start_time' => array( 'type' => 'datetime', 'not null' => false ), 'end_time' => array( 'type' => 'datetime', 'not null' => false ), 'duration' => array( 'type' => 'int', 'unsigned' => true, 'not null' => true, 'length' => 11 ) ), 'primary key' => array('id'), 'unique keys' => array('id') ); I get this error.
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL DEFAULT NULL,
end_timeNULL DEFAULT NULL,durationINT unsigned NOT ' at line 5: CREATE TABLE {table_name} (idINT unsigned NOT NULL auto_increment,nidINT unsigned NOT NULL,oidINT unsigned NOT NULL,start_timeNULL DEFAULT NULL,end_timeNULL DEFAULT NULL,durationINT unsigned NOT NULL, PRIMARY KEY (id), UNIQUE KEY0() ) ENGINE = InnoDB DEFAULT CHARACTER SET utf8; Array ( ) in db_create_table() (line 2717 of /Applications/MAMP/htdocs/project/www/includes/database/database.inc).
How can I fix this error?
datetimetype and to use this type you must use the key 'mysql_type', however I'm still getting an error.