我在2个mysql_query调用中运行此查询。我想做最高性能的事情并在一个查询中运行它。任何人都可以为我优化这个:
if(mysql_num_rows(eq("select *
from player_data
where uid = $uid")) == 0 )
eq("update player_data
set uid = $uid,
`stat`= REPLACE(`stat`, '$temp_uid', '$uid')
where uid = $temp_uid");
注意:eq只是mysql_query
的包装函数答案 0 :(得分:2)
你可以尝试:
eq("update player_data
set uid = $uid,
`stat`=REPLACE(`stat`, '$temp_uid', '$uid')
where uid=$temp_uid
and not exists (select *
from player_data
where uid = $uid)");
答案 1 :(得分:0)
if(mysql_num_rows(eq("select 1 from player_data where uid=$uid")) == 0 )
eq("update player_data set uid=$uid, `stat`=REPLACE(`stat`, '$temp_uid', '$uid') where uid=$temp_uid");
如果您只想获取表格中的行数,请避免使用select *
。
答案 2 :(得分:0)
A的答案是否非常好,如果你确实需要选择一个字段来指定它。选择一切对于表现来说太糟糕了。