在大多数情况下,您可以在MySQL和MariaDB中省略FROM DUAL。 但是要验证if you need a 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) ;
5条答案
按热度按时间uqcuzwp81#
我记得在oracle中使用
Select 1 from dual
,在mysql中只使用select 1;
。所以我认为你可以尝试不使用表格引用。这是为了验证连通性,因此不确定它是否适用于您的情况。
syqv5f0l2#
在没有表是referenced的情况下,允许指定DUAL作为虚拟表名:
或
w1jd8yoj3#
在大多数情况下,您可以在MySQL和MariaDB中省略
FROM DUAL
。但是要验证if you need a
WHERE
,您仍然需要FROM DUAL
。示例(用法:避免用不同ID重新插入的一种方式):
u5rb5r594#
您可以将
information_schema.schemata
表用于当前会话数据库,因为每个数据库都有一行。cgfeq70w5#
简单地说,你不需要
FROM dual
。这与大多数其他DBMS相同。MySQL和MariaDB都允许你使用
FROM dual
,但这只对在它们之间复制和粘贴代码有用。如果你真的想把
FROM dual
和其他的一起使用,你可以这样做:它复制了Oracle的
dual
表。