当我执行这个存储过程时,如果找到的记录没有错误并且返回行,但是如果没有找到的记录就有这个错误,并且表中没有外键,我仍然通过添加
设置外键检查=0;
sp开始和结束时
设置外键检查=1;
但没用
存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `find_location`
(IN `location` VARCHAR(50))
NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER
BEGIN
SELECT * FROM properties
WHERE properties_location LIKE concat('%',location,'%');
END
错误
静态分析:
分析中发现1处错误。
1.表达缺失(位置25处“开”附近)sql查询:编辑
设置外键\u checks=on;
mysql说:文档
2014-命令不同步;现在不能运行此命令
表结构
CREATE TABLE `properties` (
`properties_id` bigint(20) NOT NULL,
`properties_title` varchar(500) NOT NULL,
`properties_country` varchar(200) NOT NULL,
`properties_state` varchar(200) NOT NULL,
`properties_city` varchar(200) NOT NULL,
`properties_location` varchar(200) DEFAULT NULL,
`properties_contact` bigint(20) DEFAULT NULL,
`properties_agent` bigint(20) DEFAULT NULL,
`properties_floorarea` decimal(15,3) DEFAULT NULL,
`properties_bedrooms` int(5) DEFAULT NULL,
`properties_bathrooms` int(5) DEFAULT NULL,
`properties_type` varchar(100) DEFAULT NULL,
`properties_furnishing` varchar(100) DEFAULT NULL,
`properties_userid` bigint(20) NOT NULL,
`properties_usertype` varchar(50) NOT NULL,
`properties_isapproved` int(1) NOT NULL DEFAULT '1',
`properties_isactive` int(1) NOT NULL DEFAULT '1',
`properties_cr_dt` datetime NOT NULL DEFAULT NOW(),
`properties_md_dt` datetime DEFAULT NULL,
`properties_description` varchar(19000) DEFAULT NULL,
`properties_img` varchar(600) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1条答案
按热度按时间uoifb46i1#
请重新创建过程,如下所示:
我按照下面的命令测试了调用过程,并没有发现任何错误,以防在表中找不到记录。
请检查确认。希望有用!