请教高手php两次查询mysql问题

请教高手php两次查询mysql问题,第1张

首先一个与本问题无关的问题,你获取最大值,为什么要用while循环呢,直接这样就可以:

$sql

=

"SELECT

max(id)

as

MAX

FROM

a"

$data

=

mysql_query($sql,

$conn)

list($var_max_num)

=

mysql_fetch_row($data)

mysql_free_result($data)//注意及时FREE

另外,及时你不想用自动增加,也应该给这个字段设置为主键或者唯一索引,不要让它重复。

如果你的程序没有问题,那么可能是存在并行,一个进程查出最大为6之后,不断的从7、8、9开始插入数据,另外一个进程可能查出最大为7之后,从8、9、10之后开始插入数据。

还有,对于实际使用了程序系统,每次都去max并不可取,应该另外设置一个静态参数表,只有一条记录、一个字段,用来存放下一次插入的数据,每次需要插入数据的时候就来查这个表,速度应该比MAX快。

select '1' cs,group,name from a,b where b.yuanshiid=a.id

union all

select '2',group,name from a,b where b.afterid=a.id

sql

SELECT id,name, value FROM tablea WHERE 第一个sql条件 OR  第二个sql条件

php

$a = Asql结果数组

$b = Bsql结果数组

foreach($a as $k=>$v){

    foreach($b as $ke=>$va){

        if($v['id'] == $va['id']){

            $a[$k]['value'] = $va['value']

            break

        }

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7252727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存