Mysql
 sql >> база данни >  >> RDS >> Mysql

Автоматично увеличаване на идентификатора със sequelize в MySQL

Трябва да сте сигурни, че дори не изпращате id ключ изобщо.

Направих бърз минимален тест и изглежда, че работи страхотно:

var Sequelize = require('sequelize');
var sequelize = new Sequelize('cake3', 'root', 'root', {
    define: {
        timestamps: false
    },
});
var User = sequelize.define('user1', {        
        id: {
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true
        },
        name: {
            type: Sequelize.STRING
        }
});

sequelize.transaction().then(function(t) {
    User.create({name:'test'}, {
        transaction: t
    }).then(function() {
        t.commit();
    }).catch(function(error) {
        console.log(error);
        t.rollback();
    });
});

Изхвърляне на таблица:

CREATE TABLE `user1s` (
  `id` int(11) NOT NULL,
  `name` varchar(20) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
ALTER TABLE `user1s`
  ADD PRIMARY KEY (`id`);
ALTER TABLE `user1s`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL тригер за проверка на стойности преди вмъкване няколко пъти

  2. MySQL Insert Command срещу T-SQL Синтаксис на заявка с примери

  3. Laravel:лява заявка за присъединяване

  4. Не мога да намеря FULLTEXT индекс, съответстващ на списъка с колони (индексите са зададени)

  5. Как да извика съхранена процедура на MySQL от PHP код?