if (NOT EXISTS  (select 1 from  tm_order_goods WHERE order_sn='149507122391385'))
BEGIN
SELECT '找不到订单149507122391385'
end
ELSE
BEGIN
SELECT '订单149507122391385已经存在'
END
这个语法通不过
应该怎么改呢

解决方案 »

  1.   

    移至mysql版块会更好。那边大牛很多。。
      

  2.   

    MYSQL不支持匿名块
    DELIMITER $$
    CREATE PROCEDURE dd()
    BEGIN
    IF (NOT EXISTS (SELECT 1 FROM tm_order_goods WHERE order_sn='149507122391385')) THEN
       SELECT '找不到订单149507122391385';
    ELSE
       SELECT '订单149507122391385已经存在';
    END IF;
    END$$
    DELIMITER ;
      

  3.   

    mysql不像sqlserver   不能直接这么执行  必须封装到存储过程里面
      

  4.   

    这个应该在你的程序中实现。 MYSQL的SQL语句中不能执行这种IF,ELSE的过程语句。这类语句仅允许在MYSQL的存储过程中执行。
    这个可以直接在你的PHP或者VS的程序代码中实现。