破坏声明中缺少初始值设定项/标识符 'name' 已被声明 [mysql][nodejs]

Missing initializer in destructing declaration / identifier 'name' has already been declared [mysql][nodejs]

当我尝试将键作为参数插入时,我在 nodemon 上收到此错误: 语法错误:标识符 'name' 已声明

这是我在模型上的功能:

const create = async (name, about, site) => {
    const sql = 'INSERT INTO client (name, about, site) VALUES (?, ?, ?)', [name, about, site];
    const [result] = await connection.execute(sql);
    return result;
};

我的路线:

router.post('/', async (req, res) => {
  const { name, about, site } = req.body;
  const data = await create(name, about, site);
  res.status(200).json(data);
})

这是我的第一个垃圾。我如何解决这个错误?

您不能将 SQL 字符串和参数数组都分配给 一个 常量 sql。你的意思可能是

const create = async (name, about, site) => {
  const [result] = await connection.execute(
    'INSERT INTO client (name, about, site) VALUES (?, ?, ?)',
    [name, about, site]
  );
  return result;
};