我想知道是否可以在一个mysql存储函数或存储过程中编写一个mysql查询作为字符串变量,您可以稍后执行?我有一个存储功能get_district_part ((district_id INT,county_id INT,city_id INT,zip_id INT)) RETURNS INT
引用表:MySQL,存储函数,使用STRING变量作为查询
CREATE TABLE IF NOT EXISTS `modx`.covereage_district_part(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
districtID INT NOT NULL,
countyID INT,
cityID INT,
zipID INT,
FOREIGN KEY (districtID) REFERENCES `modx`.coverage_district (id),
FOREIGN KEY (countyID) REFERENCES `modx`.coverage_county (id),
FOREIGN KEY (cityID) REFERENCES `modx`.coverage_city (id),
FOREIGN KEY (zipID) REFERENCES `modx`.coverage_zip (id)
);
get_distrct_part
意味着返回行mathing district_id
的ID和county_id
,city_id
和zip_id
某种组合。问题是我想返回匹配id的确切组合的行的id,而不是包含任何这些想法的行的id。要做到这一点,我想分割我的查询语句,因此它是专门为所提供的ID构建的。如果可以,我想不必匹配空值。
我意识到这可以很容易地用PHP来完成,但我想这样做,因为MySQL存储过程,如果我可以没有其他原因,那么所有其他的功能是存储过程。
我曾看过'PREPARE'声明,我将不得不花费更多的时间。 – 2010-08-18 22:28:32
非常感谢您的帮助。 – 2010-08-19 17:12:24
你可以引用'@ query'查询中的参数吗?我试过并得到了一个未知的列错误。 – TheRealChx101 2015-05-15 20:32:15