这是mysql存储过程的代码:
BEGIN
DECLARE sms INT(100);
SET sms=(SELECT COUNT(1) FROM tbl_intofone_alert_transaction WHERE smsid='sms_id');
IF(sms<=>0) THEN
INSERT INTO tbl_intofone_alert_transaction(MSISDN,Message,Tag,SenderID,InTime,deliverystatus,
memberid,smsid,updatetime,submit_type,wu_id,DeviceID)
VALUES(mob,msg,tag,sender,NOW(),'0',memid,sms_id,NOW(),'NULL','NULL',DevId);
END IF;
END$$
IF CONDITION 在上面的代码中插入所有案例。我在这里做错了什么?
答案 0 :(得分:2)
一定是
IF(sms<=0) THEN //sms less then or equal 0
或
IF(sms>=0) THEN //sms bigger then or equal 0
<=>
这不是mysql中的比较
OBS
VALUES(mob,msg,tag,sender,NOW(),'0',memid,sms_id,NOW(),'NULL','NULL',DevId);
大多数这些价值观我不知道它们是什么,它们看起来不对
它们必须是您从代码中获取它们的变量。
在此代码中,只有NOW()
和NULL
是正确的
答案 1 :(得分:1)
您确定要在此处搜索字符串文字'sms_id'
吗?
SELECT COUNT(1) FROM tbl_intofone_alert_transaction WHERE smsid='sms_id'
可能您打算使用sms_id
变量的值:
SELECT COUNT(1) FROM tbl_intofone_alert_transaction WHERE smsid = sms_id