sequelize 资本给mysql设置自增id
时间: 2023-09-01 20:10:52 浏览: 226
MySQL分表自增ID问题的解决方法
在 Sequelize 中,你可以使用 `autoIncrement` 属性将一个列设置为自增列。在 MySQL 中,自增列是通过 `AUTO_INCREMENT` 关键字来实现的。
以下是一个示例模型定义,其中 `id` 列被设置为自增列:
```javascript
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('mysql://user:password@localhost:3306/database');
const User = sequelize.define('User', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true // 将 id 列设置为自增列
},
name: {
type: DataTypes.STRING,
allowNull: false
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true
}
});
User.sync(); // 创建表
```
当你向该表中插入一行数据时,`id` 列的值将自动递增。例如:
```javascript
User.create({ name: 'Alice', email: 'alice@example.com' })
.then(user => {
console.log(user.id); // 自增 id 值
});
```
需要注意的是,Sequelize 会自动将 `id` 列设置为主键(`primaryKey: true`)。如果你想将另一列设置为主键,可以使用 `primaryKey` 属性。例如:
```javascript
const User = sequelize.define('User', {
userId: {
type: DataTypes.INTEGER,
primaryKey: true, // 将 userId 列设置为主键
autoIncrement: true
},
name: {
type: DataTypes.STRING,
allowNull: false
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true
}
});
```
阅读全文