Incrément automatique de l'id avec sequelize dans MySQL

J'ai le modèle suivant dans NodeJS avec sequelize et une base de données MySQL:

var Sequelize = require('sequelize');
var User = sequelize.define('user', {        
        id: {
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true
        },
        ...
};

Je suis en train d'ajouter un nouvel utilisateur à mon databse avec le code ci-dessous:

sequelize.transaction().then(function(t) {
        User.create({/* User data without id */}, {
            transaction: t
        }).then(function() {
            t.commit();
        }).catch(function(error) {
            t.rollback();
        });
    });

Après, j'obtiens l'erreur suivante:

Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): START TRANSACTION;
Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): SET autocommit = 1;
Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): INSERT INTO `user` (`id`, /* next fields */) VALUES (DEFAULT, /* next values */);
Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): ROLLBACK;

Et le message d'erreur:

[SequelizeDatabaseError: ER_NO_DEFAULT_FOR_FIELD: Field 'id' doesn't have a default value]
  name: 'SequelizeDatabaseError',
  message: 'ER_NO_DEFAULT_FOR_FIELD: Field \'id\' doesn\'t have a default value'

Cependant, si je régler manuellement la valeur de l'id, il fonctionne. Il semble sequelize est d'essayer de définir une valeur par défaut dans le champ id, au lieu réglage autoincrement entier. J'ai défini ce champ autoIncrement dans ma base de données.

Comment ai-je pu faire cette insertion? Dois-je régler l'id manuellement?

MODIFIER

C'est ma définition de la table:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uid` varchar(9) NOT NULL,
  `name` varchar(20) NOT NULL,
  `email` varchar(30) DEFAULT NULL,
  `birthdate` date NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uid_UNIQUE` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Qu'est-ce que votre structure de base de données? C'est peut-être pas défini correctement dans MySQL lui-même?
Je l'ai mise à jour de ma question pour ajouter cette information
Même moi, je suis confronté à ce même problème, Mais je ne comprends pas pourquoi vous donnez la valeur initiale de la clé primaire(incrémentation automatique)? et Comment avez-vous fait?

OriginalL'auteur Genzotto | 2015-11-18