mysql 怎么判断是否存在
- SQL code
if (NOT EXISTS (select 1 from tm_order_goods WHERE order_sn='149507122391385')) BEGIN SELECT '找不到订单149507122391385' end ELSE BEGIN SELECT '订单149507122391385已经存在' END 这个语法通不过 应该怎么改呢
欢迎大家阅读《mysql 如何判断是否存在》,跪求各位点评,by 搞代码
——解决方案——————–
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 ;
——解决方案——————–
你的代码,运行环境
在5.5下测试通过
——解决方案——————–
MYSQL不支持匿名块,必须在SP中才行
——解决方案——————–
封装到存储过程中
create procedure sp_test()
begin
if (NOT EXISTS (select 1 from tm_order_goods WHERE order_sn=’149507122391385′))
BEGIN
SELECT ‘找不到订单149507122391385’
end
ELSE
BEGIN
SELECT ‘订单149507122391385已经存在’
END
end
——解决方案——————–
这个应该在你的程序中实现。 MYSQL的SQL语句中不能执行这种IF,ELSE的过程语句。这类语句仅允许在MYSQL的存储过程中执行。
这个可以直接在你的PHP或者VS的程序代码中实现。
——解决方案——————–
修改成:
BEGIN
if (NOT EXISTS (select 1 from tm_order_goods WHERE order_sn=’149507122391385′))
SELECT ‘找不到订单149507122391385’;
ELSE
SELECT ‘订单149507122391385已经存在’;
END;
推荐:
淘宝和阿里巴巴去Oracle化事件 引发数据库技术人员大讨论
MySQL数据库开源软件版本 生产环境GA版本如何选择
——解决方案——————–
这是什么代码
——解决方案——————–
毕竟是免费的东西.从功能上来说,mysql比SQLServer差太多了。。
——解决方案——————–
select * from tm_order_goods WHERE order_sn=’149507122391385′ 直接操作一把,在你的程序里如果返回空就是没找到,反之找到,一句话的问题搞那么复杂干什么
——解决方案——————–
select 1 from tm_order_goods WHERE order_sn=’149507122391385′ 你看看是不是1这里有问题
——解决方案——————–
- SQL code
if (NOT EXISTS (select 1 from tm_order_goods WHERE order_sn='149507122391385')) BEGIN SELECT '找不到订单149507122391385' end ELSE BEGIN SELECT '订单149507122391385已经存在' END