3

MySQL クエリでエラーが発生しました。

if not exists(select * from tb_user where user_id=1) then
     select 'ok' as rul;
else
     select 'not' as rul;
end if;

私の問題はどこですか?

4

3 に答える 3

4

IF ステートメントは、ストアド関数でのみ使用できます。次のように、IF() 関数を使用して、必要なことを行うことができます。

SELECT IF(EXISTS(select * from tb_user where user_id=1), 'ok', 'not') as rul;
于 2012-12-21T07:28:03.663 に答える
3

別の方法:使用することもできますcase when

Select case
when exists(select * from tb_user where user_id=1)
then 'Ok'
else 'Not'
end
;

* SQLFiddleデモ

サンプルテーブル:

ID  NAME
1   john
2   tim
3   jack
4   rose

クエリ:列の名前を次のように変更しましたStatus

Select case
when exists(select * from table1 where id=1)
then 'Ok'
else 'Not'
end as Status
;

結果:

STATUS
Ok
于 2012-12-21T07:34:54.477 に答える
1
SELECT IF(COUNT(*) > 0, 'ok', 'not') rul FROM tb_user WHERE user_id = 1;
于 2012-12-21T07:33:54.307 に答える