代码之家  ›  专栏  ›  技术社区  ›  jrocc

sequelize原始查询列不存在

  •  0
  • jrocc  · 技术社区  · 8 年前

    我试图使用一个原始查询,但我得到的错误。 为什么它认为test是列名?

    “测试”列不存在

    module.exports = {
    
      getUser(req, res){
        var sql = 'SELECT * FROM Users As Users WHERE Users.username = "test"'
        //Get the username of the user
        //Search the Users_matches databse for their username and join it with the
        db.sequelize.query(sql, { type: sequelize.QueryTypes.SELECT})
        .then(result => {
          return res.status(201).send({
            result
          });
        })
    }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   AbhinavD    8 年前

    您可以逃避值“test”。这行得通

    const User = sequelize.define('User', {
      username: Sequelize.STRING,
    });
    
    sequelize.sync({ force: true })
      .then(() => {
        var sql = 'SELECT * FROM "Users" as "Users" WHERE username = \'test\'';
        sequelize.query(sql, { type: sequelize.QueryTypes.SELECT })
          .then(result => {
            console.log(result);
          });
      });