什么是最好的 MySQL 替代双重?

Jef*_*eff 10 mysql

所以,我主要是在 oracle 工作,并且因为使用 Dual 而被宠坏了。对于对给定数据库具有选择权限的用户,您如何重现双重功能?

IE:

Select 'foo' from dual
Run Code Online (Sandbox Code Playgroud)

可能是我错过的一个非常简单的答案。

Sep*_*ity 9

FROM DUAL在大多数情况下,您可以在 MySQL 和 MariaDB 中省略。

如果您需要WHERE验证事物,您仍然需要FROM DUAL.

示例(用法:避免使用不同 id 重新插入的一种方法):

INSERT INTO `t1`(`id`, `name`, `description`) 
    SELECT NULL, 'LopsusNonsus', 'my description'
        FROM DUAL 
        WHERE NOT EXISTS (SELECT id FROM `t1` WHERE `name`='LopsusNonsus' LIMIT 1) ;
Run Code Online (Sandbox Code Playgroud)


小智 8

我记得Select 1 from dual在 oracle 和select 1;mysql 中使用过。所以我认为你只是在没有表格参考的情况下尝试。

这是为了验证连接性,因此不确定它是否适用于您的情况。


Ber*_*fen 6

在没有引用表的情况下,您可以将 DUAL 指定为虚拟表名:

SELECT 1+1;
Run Code Online (Sandbox Code Playgroud)

或者

SELECT 1 + 1 FROM DUAL;
Run Code Online (Sandbox Code Playgroud)