0

我正在使用mysqlnode.js。

NULL此查询通过检查是否至少有一行不是 来检查列是否具有所有值NULL

SELECT 1 FROM `table` WHERE `column` IS NOT NULL LIMIT 1

如果该列具有所有NULL值,则此查询会在几秒钟(〜120)后在 SQL 进程列表中结束,但我从未从 js 代码中得到回调:

import {createPool as mysqlCreatePool, MysqlError} from 'mysql';

const db = mysqlCreatePool({...})

const query = db.query(sql, undefined, function (err: MysqlError | null, res?: any) {
  console.log(err, res);
});

query.on('end', () => console.log("end"));

(控制台中没有打印任何内容)

4

1 回答 1

1

可能不是相同的方法,但会为您提供我认为您所追求的答案并始终返回结果。

查询 acount而不是固定值并使用IS NULL而不是IS NOT NULL

SELECT count(*) AS null_count FROM `table` WHERE `column` IS NULL;

如果您的回答是0每条记录都有该列的值。如果您的响应大于您在该列中0有值的记录数。NULL

于 2020-03-24T18:52:44.707 回答