我需要能够将没有userid的所有行复制到同一个表中,其userid等于1。 这是我的代码:(当我运行它时它不起作用),它确实使用echo显示items字段和widget id字段。但它不会插入数据。任何建议
$sql=("SELECT * from options WHERE userid='' ");
$resultat= mysql_query($sql);
while($row = mysql_fetch_array($resultat))
{
$userid="1";
echo $items.$widgetid."<br>";
$widgetid = $row['widgetid'];
$items = $row['items'];
$stats = $row['stats'];
$upd=("INSERT INTO options (userid, widgetid, items,stats)
VALUES ('$userid', '$widgetid','$items', '$stats')");
mysql_query($upd);
}
答案 0 :(得分:4)
INSERT INTO options
SELECT '1' AS userid, widgetid, items, stats
FROM options
WHERE userid = ''
假设这是表中声明的列的顺序。
答案 1 :(得分:1)
我认为您只需要更新userid =''
的行update options
set userid=1
where userid='';
$upd=("INSERT INTO options (userid, widgetid, items,stats)
select 1, widgetid, stats from options
where userid='' ");
答案 2 :(得分:1)
create table newTable like oldTable;
insert into newTable
select * from oldTable
where userid = '';
但也许你真的需要像Naveen那样更新?
答案 3 :(得分:0)
在PHP中使用以下代码段
$upd= (
"INSERT INTO
options (userid, widgetid, items,stats)
VALUES (1, '". $widgetid ."' , '". $items ."' , '". $stats ."')
"
);