sql >> データベース >  >> RDS >> Mysql

sql if in insert statement without select

    あなたのテーブルの名前はtblだと思います。

    INSERT INTO tbl (campoX ) 
        SELECT 'X' FROM DUAL 
        WHERE NOT EXISTS( 
                          SELECT campoX from tbl 
                          WHERE campoX ='X'
                         );
    

    DUAL 純粋に、すべてのSELECTステートメントにFROM句と場合によっては他の句を含める必要がある人の便宜のためです。 MySQLは句を無視する場合があります。テーブルが参照されていない場合、MySQLはFROMDUALを必要としません。

    他のいくつかの言及したように、INSERT IGNOREを使用できます campoXがunigueまたは主キーフィールドである場合は、ここに記述してください。



    1. Laravelのデータベースレイヤーをスタンドアロンで使用できますか?

    2. WindowsでのOracleSQLDeveloper入門

    3. PostgreSQLでデータベースのコピーを作成する

    4. 日付を日付に変換し、時刻を切り捨てて、日付を残すにはどうすればよいですか?