knex.js - 多个唯一约束上的 Knex.js 死锁
问题描述
创建具有多个唯一约束的表时出现死锁。这是我的代码:
db.schema.createTable('users', table => {
table.increments('id')
table.string('email').unique()
table.string('phone').unique()
table.string('instagram').unique()
table.string('password')
table.timestamp('createdAt').notNullable()
table.timestamp('updatedAt').notNullable()
})
错误:
Error creating users table Error: alter table `users` add unique `users_instagram_unique`(`instagram`) - Deadlock found when trying to get lock; try restarting transaction
at Packet.asError (/Users/marwanroushdy/Development/July/API/node_modules/mysql2/lib/packets/packet.js:712:17)
at Query.execute (/Users/marwanroushdy/Development/July/API/node_modules/mysql2/lib/commands/command.js:28:26)
at Connection.handlePacket (/Users/marwanroushdy/Development/July/API/node_modules/mysql2/lib/connection.js:417:32)
at PacketParser.onPacket (/Users/marwanroushdy/Development/July/API/node_modules/mysql2/lib/connection.js:75:12)
at PacketParser.executeStart (/Users/marwanroushdy/Development/July/API/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/Users/marwanroushdy/Development/July/API/node_modules/mysql2/lib/connection.js:82:25)
at Socket.emit (events.js:315:20)
at addChunk (_stream_readable.js:297:12)
at readableAddChunk (_stream_readable.js:273:9)
at Socket.Readable.push (_stream_readable.js:214:10) {
code: 'ER_LOCK_DEADLOCK',
errno: 1213,
sqlState: '40001',
sqlMessage: 'Deadlock found when trying to get lock; try restarting transaction'
}
解决方案
推荐阅读
- python - 在 Python 3 中打印列表中不是 3 的倍数的数字
- python - 如何将一个 DataFrame 随机拆分为几个较小的 DataFrame?
- react-native - 在Highcharts(React Native)上触发点击事件时无法执行“警报”以外的任何其他操作
- php - PHP 7 - IF 语句在尝试检测 $_SESSION 数组中的 KEYS 时似乎不起作用
- javascript - 验证来自不同页面的表单
- go - 基于Golang中的字符比较子字符串
- vb.net - 如何打印显示文本框的文档?(VB)
- flask - 在 Unix 上维护 Gunicorn 和 flask
- android - 如何为列表中的列表创建 RecyclerView 适配器
- ios - Apple 钱包 pkpass 收到太多更新