mysql - 查看 mysql 请求是否为 Null、Empty set 或其中包含内容

标签 mysql sql node.js

我想知道如何使用 Node JS 获取条件,其中 mysql Select 请求为 NULL、空集或其中包含某些内容。

目前我有:

function checkKey(key, cb) {
    var activated = "";
    var sqlcheck = "SELECT activated from authentification where discord_key = ?";
    console.log("in function");
    DB.query(sqlcheck, [key], function (err, result) {
        if (err) throw (err);
        if (result[0] && result[0].activated) {
            activated = result[0].activated;
            console.log("filled key");
        } else {
            activated = false;
            console.log("empty key");
        }
        cb(activatedkey(activated));
        //return (activatedkey(activated));
    })
}

有了这个,我只能得到 Empty 和 Null 或者其中的东西。 我正在寻找一种方法来获取 EMPTY 或 NULL 或其中的某些内容。

非常感谢您的帮助

最佳答案

您可以在身份验证表中放入第二行,其中最多可能有 key 。因此,您可以使用 OR 来对两行进行排序,并按键对其进行排序,并将其限制为 1。

SELECT activated
FROM authentification
WHERE discord_key = 123456
OR discord_key = 9999999
ORDER BY discord_key LIMIT 1;

示例

    MariaDB [test_arduino]> SELECT * FROM authentification;
    +----+-----------+-------------+
    | id | activated | discord_key |
    +----+-----------+-------------+
    |  1 | 1         | 12345       |
    |  2 | EMPTY     | 9999999     |
    +----+-----------+-------------+
    2 rows in set (0.001 sec)

MariaDB []> SELECT activated
        ->     FROM authentification
        ->     WHERE discord_key = 12345
        ->     OR discord_key = 9999999
        ->     ORDER BY discord_key LIMIT 1;
    +-----------+
    | activated |
    +-----------+
    | 1         |
    +-----------+
    1 row in set (0.001 sec)

    MariaDB []> SELECT activated
        ->     FROM authentification
        ->     WHERE discord_key = 123456
        ->     OR discord_key = 9999999
        ->     ORDER BY discord_key LIMIT 1;
    +-----------+
    | activated |
    +-----------+
    | EMPTY     |
    +-----------+
    1 row in set (0.001 sec)

    MariaDB []> 

关于mysql - 查看 mysql 请求是否为 Null、Empty set 或其中包含内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54754432/

相关文章:

sql - 向 ActiveRecord 查询添加计算列

java - createQuery 与 createNativeQuery,更新/删除语句的性能差异

Mysql join 多表分层数据

php - 在 mySQL 中选择一个由两个单词组成的字段名,从 PHP 中调用

mysql - 通过 Structured Con 在 C/MySQL 中的 SegFaults

php - php哈希密码中的注册脚本

mysql - 逗号分隔的字符串列表转换为mysql中的日期

node.js - Angular 2 - 使用 "dist"而不是 "npm"为生产构建 "ng build -prod"

node.js - nginx : redirect to port according to domain prefix (dynamically)

javascript - 如何正确构造异步程序以确保正确的结果?