所以,我主要是在 oracle 工作,并且因为使用 Dual 而被宠坏了。对于对给定数据库具有选择权限的用户,您如何重现双重功能?
IE:
Select 'foo' from dual
Run Code Online (Sandbox Code Playgroud)
可能是我错过的一个非常简单的答案。
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 中使用过。所以我认为你只是在没有表格参考的情况下尝试。
这是为了验证连接性,因此不确定它是否适用于您的情况。
在没有引用表的情况下,您可以将 DUAL 指定为虚拟表名:
SELECT 1+1;
Run Code Online (Sandbox Code Playgroud)
或者
SELECT 1 + 1 FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8246 次 |
| 最近记录: |