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

存在する場合は選択し、そうでない場合は挿入しますか?

    あなたの発言はそのままで大丈夫です。唯一の問題は、通常のクエリのように使用できないことです。 IFのような制御構造 またはWHILE ストアドプロシージャまたは関数でのみ許可されます。

    次のような手順を作成するだけです:

    delimiter $$
    
    create procedure select_or_insert()
    begin
    
    IF EXISTS (select * from users where username = 'something') THEN
        select id from users where username = 'something';
    ELSE 
        insert into users (username) values ('something');
    END IF;
    
    end $$
    

    次のように呼びます:

    call select_or_insert();
    

    それだけです。



    1. 〜の例に対するmysqlの一致

    2. MySQL:左結合を実行して、結合テーブルから1行だけをプルできますか?

    3. MySQLの複数列の外部キー?

    4. phpはmysqlの順序よりも優れていますか?