我是否从表-2更新为表-1

时间:2010-05-18 06:45:28

标签: php mysql

HI这段代码有什么问题?我已经设置它24小时来更新表中的值。但问题是如果$ row为空,那么它从表-2插入值,但在24小时后它不会更新值。

我想要的是它必须删除现有值并插入新值(随机值),否则必须使用新值更新相同的$行...

if ($row == 0){
  mysql_query("INSERT INTO table-1 
  (regtime,person,location,address,rank,ip,geocode)
  SELECT NOW(),person,location,address,rank,ip,geocode FROM table-2 ORDER BY RAND() LIMIT 1");
}
else{
  mysql_query("UPDATE table-1 SELECT regtime=NOW(),
                 person=person,
                 location=location,
                 address=address,
                 rank=rank,
                 ip=ip,
                 geocode=geocode FROM table-2 ORDER BY RAND() LIMIT 1");
}

3 个答案:

答案 0 :(得分:0)

最简单的方法是在运行INSERT之前删除表-1中的现有行。

我不知道你桌子的主键是什么。我想它的人?

DELETE FROM table-1 where person in (select person FROM table-2)

INSERT INTO table-1 (regtime,person,location,address,rank,ip,geocode) 
SELECT NOW(),person,location,address,rank,ip,geocode FROM table-2 ORDER BY RAND() LIMIT 1

抱歉如果我出错了,我不使用mysql。

答案 1 :(得分:0)

使用REPLACE INTO代替INSERT INTO

答案 2 :(得分:0)

SET声明中没有UPDATE,这就是为什么没有做任何事情。

请参阅UPDATE manual page

相关问题