PDA

View Full Version : سوال: مشکل در کپی اطلاعات از جدولی به جدول دیگر



NeMeSiS7
دوشنبه 06 آذر 1391, 12:21 عصر
سلام دوستان

من می خوام اطلاعات یک سری از فیلدهارو از یک جدول select کنم و در جدول دیگه insert (کپی) کنم، ازونجایی که اطلاعات جدول اول هر ماه به روز میشه، می خوام هر باری که کد رو اجرا می کنم اطلاعات رو در جدول دوم کپی بشه و با اطلاعات قبلی overwrite نشه.

مشکلی که در کدم دارم اینه که بار اول، کد عمل میکنه، اما بار دوم دیگه کد insert اجرا نمیشه.

ممنون میشم کمکم کنید.






<?php

$con=mysql_connect('localhost','root','');

mysql_select_db('port',$con);

mysql_query("SET CHARACTER SET utf8;");

mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");



if(!$con) {die ('MySQL connect error !');}



if(!mysql_select_db('port'))

{die('MySQL database select error !');

}


$query= mysql_query ("SELECT * FROM `fyaux_comprofiler` where approved='1'");
while($row=mysql_fetch_array($query)){



$userid=$row['user_id'];

$date=$row['cb_date'];

$zone=$row['cb_zone1'];

$curse=$row['cb_curse'];

$sumofcurse=$row['cb_sumofcurse'];

$average=$row['cb_average'];

$minofrate=$row['cb_minofrate'];

$maxofrate=$row['cb_maxofrate'];

$sumofrate=$row['cb_sumofrate'];

$desofrate=$row['cb_desofrate'];

$finalrate=$row['cb_finalrate'];

$yellowcard=$row['cb_yellowcard'];

$redcard=$row['cb_redcard'];

$insert= mysql_query ("INSERT INTO `fyaux_grid` (`user_id`, `cb_date` , `cb_zone1` , `cb_curse`,`cb_sumofcurse` , `cb_average`, `cb_minofrate` , `cb_maxofrate` , `cb_sumofrate` ,`cb_desofrate` , `cb_finalrate` ,`cb_yellowcard` , `cb_redcard`) VALUES ( '$userid' , '$date' , '$zone' , '$curse' , '$sumofcurse' , '$average' , '$minofrate' , '$maxofrate' ,'$sumofrate' , '$desofrate' , '$finalrate' , '$yellowcard' , '$redcard'); ");
}
?>

سعید صابری
دوشنبه 06 آذر 1391, 13:00 عصر
فكر نكنم اين همه كد بخواد

Insert into Table1(field1,...)values(select fiel1,.. from table2 where app=1)

NeMeSiS7
دوشنبه 06 آذر 1391, 15:27 عصر
خیلی ممنون ،من این کد رو هم امتحان کردم، منتها مشکل اینجاست که بار اول کد کار میکنه، اما بار دوم به بعدجواب نمیده.

فكر نكنم اين همه كد بخواد

Insert into Table1(field1,...)values(select fiel1,.. from table2 where app=1)

سعید صابری
دوشنبه 06 آذر 1391, 16:23 عصر
چرا جواب نميده؟پيام ارورش چيه؟
شايد بخاطر وجود كليد اصلي باشه كه بار دوم مقدارش تكراري ميشه انجام نميده

NeMeSiS7
دوشنبه 06 آذر 1391, 16:54 عصر
دقیقاً مشکل توی نوع فیلد user_id بود که توی مشخصاتش، مورد default ش، مقدار as defined گرفته بود ... ممنون از پیگیری
مشکلم حل شد:لبخندساده: