Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.5K
Vistas
secuenciar la tabla sin la columna 'id'

Tengo la siguiente definición de secuela de una tabla:

 AcademyModule = sequelize.define('academy_module', { academy_id: DataTypes.INTEGER, module_id: DataTypes.INTEGER, module_module_type_id: DataTypes.INTEGER, sort_number: DataTypes.INTEGER, requirements_id: DataTypes.INTEGER }, { freezeTableName: true });

Como puede ver, no hay una columna de id en esta tabla. Sin embargo, cuando intento insertarlo, todavía intenta el siguiente sql:

 INSERT INTO `academy_module` (`id`,`academy_id`,`module_id`,`sort_number`) VALUES (DEFAULT,'3',5,1);

¿Cómo puedo deshabilitar la función de id que claramente tiene?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Si no define una primaryKey , la secuencia utiliza la id de forma predeterminada.

Si desea establecer el suyo propio, simplemente use primaryKey: true en su columna.

 AcademyModule = sequelize.define('academy_module', { academy_id: { type: DataTypes.INTEGER, primaryKey: true }, module_id: DataTypes.INTEGER, module_module_type_id: DataTypes.INTEGER, sort_number: DataTypes.INTEGER, requirements_id: DataTypes.INTEGER }, { freezeTableName: true });
over 4 years ago · Santiago Trujillo Denunciar

0

Si desea deshabilitar por completo la clave principal de la tabla, puede usar Model.removeAttribute . Tenga en cuenta que esto podría causar problemas en el futuro, ya que Sequelize es un ORM y las uniones necesitarán una configuración adicional.

 const AcademyModule = sequelize.define('academy_module', { academy_id: DataTypes.INTEGER, module_id: DataTypes.INTEGER, module_module_type_id: DataTypes.INTEGER, sort_number: DataTypes.INTEGER, requirements_id: DataTypes.INTEGER }, { freezeTableName: true }); AcademyModule.removeAttribute('id');
over 4 years ago · Santiago Trujillo Denunciar

0

Para una clave principal compuesta, debe agregar "primaryKey: true" a todas las columnas que forman parte de la clave principal. Sequelize considera que tales columnas son parte de una clave principal compuesta.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda