mysql中dual表


在Mysql和SQL Server中可以直接: 
select 1 不需要加from 表名就可以执行 
而在Oracle中要满足select from 的结构: 
select 1不能实现满足上述结构,引入dual来满足结构。 
Oracle这样表示:select 1 from dual

注:上述的数据库中都存在dual表,只是mysql中的dual表没有值select * from dual 这种语句会报错,而在Oracle中会返回一行记录(dual表有一条默认值),二者都可以用dual来满足语法结构。

但是在以下情况下需要加上dual:

select * from m_pool_wblist;

表结构

用户希望在插入数据库表以前,先判断数据是否已存在,通过以下方式实现。

INSERT INTO m_pool_wblist (
    phone_num,
    confirm_time,
    type
) SELECT
    '15333312134',
    '2018-09-13',
    '2'
FROM
    DUAL
WHERE
    NOT EXISTS (
        SELECT
            '15333312134'
        FROM
            m_pool_wblist
        WHERE
            phone_num = '15333312134'
    );

 

受影响的行: 0
时间: 0.040s


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM