如果在执行sql时表名或者数据库名等需要是动态的,这个时候就需要定义字段来拼接sql。之后再执行sql。
示例如下:
set @pre='dev_'; set @teachersql:=CONCAT('insert into teacher(id,CreateTime,Creater,`Name`,AvatarUrl,Disabled) select id,CreateTime,Creater,`Name`,Avatar,0 from ',@pre,'my_db.teachers'); prepare exteachersql from @teachersql ; execute exteachersql ;