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