失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL 解决参数名与数据表字段名重复问题

MySQL 解决参数名与数据表字段名重复问题

时间:2020-03-08 22:00:31

相关推荐

MySQL 解决参数名与数据表字段名重复问题

MySQL 定义预处理sql

通过预处理命令执行解决参数与表字段重复冲突的问题

案例:定义传入参数名age,与数据表中age名称重复

也可以使用 表名点字段名来解决(ld_tmp_cust.age = age)

CREATE PROCEDURE `execute_sql`(IN sqltext text)BEGINset @str = sqltext;PREPARE str from @str; --- 定义预处理EXECUTE str; -- 执行预处理DEALLOCATE PREPARE str; -- 释放预处理commit;END;DROP TABLE IF EXISTS ld_tmp_cust ;CREATE TABLE ld_tmp_cust(ID Int, name VARCHAR(100), age INT,brith VARCHAR(100));INSERT INTO ld_tmP_cust VALUES ('001','吕布',23,'1999-10-01');INSERT INTO ld_tmP_cust VALUES ('002','赵云',25,'1999-12-01');INSERT INTO ld_tmP_cust VALUES ('003','刘备',26,'1999-07-01');drop procedure p12 ;CREATE PROCEDURE p12( in age int )BEGINselect concat('SELECT name FROM ld_tmp_cust ','where age = ',age,' ;') into @aa ;call execute_sql ( @aa );end;call p12( 23) ;

drop procedure p11 ;CREATE PROCEDURE p11( in age int )BEGINselect concat('SELECT name FROM ld_tmp_cust ','where age = ',age,' ;') into @aa ;PREPARE sqla from @aa ; -- 定义预处理execute sqla ; -- 执行预处理DEALLOCATE PREPARE sqla; -- 释放预处理缓存end;call p11( 26) ;

希望小伙伴们帮忙点个赞

待修定补充……

如果觉得《MySQL 解决参数名与数据表字段名重复问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。