MYSQL UPDATE TEXT字段不起作用

时间:2017-08-15 17:03:39

标签: mysql json node.js

我正在尝试更新MYSQL表中的TEXT字段。即使原始INSERT尝试在用户不存在时正常工作,我也无法使UPDATE查询起作用。

如果用户尚不存在,则该函数的目的是INSERT新行;如果用户已存在于表中,则更新textColumn(始终包含JSON)。

我的代码:

let first = 'jake';
let last = 'mcdonald';

let first_json = JSON.stringify({a:7, b:7});

let second_json = JSON.stringify({a:'updated'});

const row = {
  name: first,
  last_name: last,
  textColumn: first_json,
}

db.query(`SELECT * FROM tableName 
          WHERE name="${first}" 
          AND last_name="${last}"`, (err, result) => {
    if (err) console.log(err);
    if (result.length < 1) {
      db.query(`INSERT INTO tableName SET ?`, row, (err, result) => {
        console.log('NEW ROW CREATED: ', result);
      })
    } else if (result.length > 0) {
      console.log('ROW EXISTS');
      db.query(`UPDATE tableName 
                SET textColumn=${second_json} 
                WHERE name="${first}" 
                AND last_name="${last}"`, (err, result) => {
          console.log('UPDATED: ', result);
        }
      )
    }
  }
)

else if部分给出了我的问题:我到达内部console.log('ROW EXISTS')但更新查询日志“未定义”。

如果我尝试UPDATE tableName SET name="someNewName" WHERE last_name="original_last_name",则相同的UPDATE查询有效,但当我尝试更新textColumn时没有任何反应。

0 个答案:

没有答案