mysql莫名报"unknown column ... in 'on clause'"是什么原因?

一个web程序本地调试的好好的,发布到服务器上后过一段时间程序就报错了
错误信息显示 Unknown column '(' in 'where clause'

保持查询条件不变的情况下正常查询和报错都会出现

SELECT
    u.LeadId,
    u.LeadName,
    u.DealerLegalName,
    u.DealerDBAName,
    u.DealerCode,
    u.DealerCodeLot2,
    u.DealerCodeLot3,
    u.DealerPhone,
    u.DealerEmail,
    u.LeadStatus,
    u.SizeOfOpportunity,
    u.LastStatusChangedOn,
    u.PromoSource,
    u.ISR,
    u.ISRInitialized,
    u.NoAreaManagerCovered,
    u.SendtoISR,
    u.SenttoISRDate,
    u.BDR,
    u.BDRTaggedDate,
    u.AreaManager,
    u.AreaManagerInitialized,
    u.AreaManagerSignifies,
    u.AreaManagerPictureVerified,
    u.RegionalManager,
    u.LeadSource,
    u.LeadSourceEmail,
    u.FinanceCoupon,
    u.PreApprovalQualified,
    u.GoodLead,
    u.PreApprovalAmount,
    u.PoD,
    u.AdditionalEmail1,
    u.AdditionalEmail2,
    u.AdditionalEmail3,
    u.AdditionalEmail4,
    u.AdditionalEmail5,
    u.AdditionalEmail6,
    u.IsReapplied,
    u.IsDeleted,
    u.CreateDate,
    u.CreatePerson,
    u.UpdateDate,
    u.UpdatePerson,
    u.RowVersion,
    u.SynergyId,
    u.DealerLicence,
    u.EnvelopId 
FROM
    uwleads u 
WHERE
    ( u.LeadId IS NOT NULL OR u.LeadId != '' ) 
    AND u.IsDeleted = 0 
    AND (
        REPLACE ( REPLACE ( REPLACE ( REPLACE ( u.DealerPhone, '-', '' ), '(', '' ), ')', '' ), ' ', '' ) = @Phone 
        OR u.LeadId IN (
            '********-****-****-****-********'
        )) 
ORDER BY
    u.CreateDate DESC

这是执行的sql语句(程序生成
目前毫无头绪还请指教!

阅读 3k
2 个回答

是不是你的in有里面有双引号或者其他非法字符串导致sql错误

你在执行SQL前记录日志,将生成的SQL记下来
报错后把SQL拿去数据库执行就知道什么问题了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题