插入时出现错误

编程入门 行业动态 更新时间:2024-10-10 17:31:11

插<a href=https://www.elefans.com/category/jswz/34/1707962.html style=入时出现错误"/>

插入时出现错误

我正在执行此:

const Seq = require(`sequelize`);

const seq = new Seq(`sistemadecadastro`, `root`, `Dev01891`, {
  host: `localhost`,
  dialect: `mysql`,
});

seq
  .authenticate()
  .then(function () {
    console.log(`Conectado ao MySQL com sucesso!`);
  })
  .catch(function (erro) {
    console.log(`Erro na conexao com MySQL: ` + erro);
  });

const postagem = seq.define(`postagens`, {
  titulo: {
    type: Seq.STRING,
  },
  conteudo: {
    type: Seq.TEXT,
  },
});

postagem.sync({ force: true });

postagem.create({
  titulo: `AVISO`,
  conteudo: `Four values - border-radius: 15px 50px 30px 5px; (first value applies to to`,
});

但是我无法添加新记录,因为INSERT正在'sequelize创建表之前发生。

控制台输出:

PS C:\Projects\TestNodeMySql> node testMySQL.js
Executing (default): SELECT 1+1 AS result
Executing (default): DROP TABLE IF EXISTS `postagens`;
Executing (default): INSERT INTO `postagens` (`id`,`titulo`,`conteudo`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?);
Conectado ao MySQL com sucesso!
Executing (default): CREATE TABLE IF NOT EXISTS `postagens` (`id` INTEGER NOT NULL auto_increment , `titulo` VARCHAR(255), `conteudo` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
Unhandled rejection SequelizeDatabaseError: Table 'sistemadecadastro.postagens' doesn't exist
    at Query.formatError (C:\Projects\TestNodeMySql\node_modules\sequelize\lib\dialects\mysql\query.js:244:16)
    at handler (C:\Projects\TestNodeMySql\node_modules\sequelize\lib\dialects\mysql\query.js:51:23)
    at Prepare.onResult (C:\Projects\TestNodeMySql\node_modules\mysql2\lib\connection.js:604:11)
    at Prepare.execute (C:\Projects\TestNodeMySql\node_modules\mysql2\lib\commands\command.js:30:14)
    at Connection.handlePacket (C:\Projects\TestNodeMySql\node_modules\mysql2\lib\connection.js:417:32)
    at PacketParser.onPacket (C:\Projects\TestNodeMySql\node_modules\mysql2\lib\connection.js:75:12)
    at PacketParser.executeStart (C:\Projects\TestNodeMySql\node_modules\mysql2\lib\packet_parser.js:75:16)
    at Socket.<anonymous> (C:\Projects\TestNodeMySql\node_modules\mysql2\lib\connection.js:82:25)
    at Socket.emit (events.js:321:20)
    at addChunk (_stream_readable.js:294:12)
    at readableAddChunk (_stream_readable.js:275:11)
    at Socket.Readable.push (_stream_readable.js:209:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:186:23)

Executing (default): SHOW INDEX FROM `postagens`

我是node.js的新手,并进行了续集。这部分代码仅用于我的学习目的。有什么建议吗?

回答如下:

看起来您的操作顺序是:

  1. 删除表。
  2. 插入表格。
  3. 创建表。

颠倒步骤2和3的顺序。

如果这是异步代码,您可能需要等待创建表的步骤完成才能尝试插入。不要让它们以任意顺序运行。

Sequelize是由Promise驱动的,因此它通常与awaitthen()链一样简单,例如:

await postagem.sync({ force: true });

postagem.create({
  titulo: `AVISO`,
  conteudo: `Four values - border-radius: 15px 50px 30px 5px; (first value applies to to`,
});

这在某种async函数中。请注意,sync返回一个sync,这意味着如果您不小心,它可能会乱序运行。

更多推荐

插入时出现错误

本文发布于:2024-05-07 13:47:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756526.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:入时   出现错误

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!