MySQL的SQL语句里面是可以加注释的。例如:"select * from t1"可以写成"/* tag */select * from t1"。这个tag可以扩展成很多格式,这样在MySQL的日志中就可以看到这个tag。但是我在5.0和5.5版本中,象上面的注释,并不会显示出来,还是直接显示"select * from t1"。研究了一下,可以改成这样:"/*!90000 tag */select * from t1","!"后的5位数字代表MySQL版本号,上面这个语句的意思是只有MySQL版本号大于9.0的时候,注释内容才会被执行。由于目前也没有9.0版本,所以注释内容是不会被执行的,但是在LOG日志和慢查询日志里可以看到语句中的tag注释,在show full processlist中也可以看到SQL语句中的注释tag。
$arr1 = mysql_query("select content from tbName where tag1 = $arg1 or tag2 = $arg1 or tag3 = $arg1")$arr2 = mysql_query("select content from tbName where tag1 = $arg2 or tag2 = $arg2 or tag3 = $arg2")
$arr3 = mysql_query("select content from tbName where tag1 = $arg3 or tag2 = $arg3 or tag3 = $arg3")
$result = array_merge( $arr1, $arr2, $arr3 )
把tags进行分割,并和id关联起来
结果如图:
t_num_tmp为中间表,内容如下:
id的最大值为 len(tags分割后tag的数量)
通过t_num_tmp中间表把t_tags的一条记录复制为n份,n为tags分割后tag的数量。
再在这n份记录中, 通过对应的循环值, 取到对应的tag
https://www.cnblogs.com/tooy/p/8108602.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)