嗨,这段代码有什么问题??我已经设置了24小时来更新table.but中的值,问题是如果$row是空的,那么它将插入表-2中的值,但是24小时后它不会更新值。
我想要的是它必须删除现有的值并插入新的值(随机值),或者它必须用新值更新相同的$row。
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");
}发布于 2010-05-18 14:53:00
最简单的方法是在运行INSERT之前删除table-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。
发布于 2010-05-18 14:53:35
使用REPLACE INTO代替INSERT INTO
发布于 2010-05-18 14:57:27
您的UPDATE语句中没有SET,这就是什么也不做的原因。
请参阅UPDATE manual page
https://stackoverflow.com/questions/2855022
复制相似问题