今天发现mysql_query执行insert结果会有偏差,怀疑是php自身的问题。
后来加个values竟然好了,然后再测试几遍又不行,最后又好了。。。。。。。。。。。。。靠,莫名奇妙,可能是缓存原因吧。。。。。。。con缓存???
想起来了,估计是由于修改nginx的配置文件里gzip=off和buffer的值flush()缓存导致的。。。。。。
http://bbs.csdn.net/topics/390789678
<?php
class test{
public $con;
function __construct()
{
$this->mysql_init();
}
function mysql_init()
{
$con = mysql_connect("192.168.0.22","root","123");
if (!$con) die("Could not connect: " . mysql_error());
$this->con = $con;
}
function insert_sql($db_name='caomei_20140515', $sql='', $log_str='')
{
$con = $this->con;
mysql_select_db($db_name, $con);
mysql_query("SET NAMES 'utf8'", $con);
$sql = "
INSERT INTO analysis.caomei_of_list_pvuv
(region,isp,uv,pv,date) VALUES
SELECT
tb2.region,tb2.isp,tb2.uv,tb2.pv,'2014-05-14' AS date
FROM
(
SELECT
tb.region,tb.isp, COUNT(tb.mac) AS uv,
SUM(tb.mac_num) AS pv
FROM
caomei_20140515.caomei_1 AS tb
WHERE
tb.date = '2014-05-14'
GROUP BY tb.region, tb.isp
) AS tb2
LEFT JOIN
(
SELECT
tb6.region,tb6.isp,tb6.uv,tb6.pv
FROM
analysis.caomei_of_list_pvuv AS tb6
WHERE
tb6.date='2014-05-14'
) AS tb1
ON tb2.region = tb1.region
WHERE
tb1.region IS NULL
AND tb2.region IS NOT NULL
;
";
$result = mysql_query($sql, $con);
}
function mysql_closex()
{
mysql_close($this->con);
}
}
$t = new test();
$t->insert_sql();
$t->mysql_closex();