2014-10-09 166 views
0

我想從我的表中選擇所有數據並將其插入到另一個表中。我有這個代碼,但它不工作。這就是phpMyadmin所說的「MySQL返回一個空結果集(即零行)。」(查詢花了0.0010秒。)「從表中選擇所有數據並將其插入到另一個表中

這是我的代碼:

if(isset($_POST['select_table'])) 
{ 
    $select_table = mysql_real_escape_string($_POST['select_table']); 
    $query_select = "INSERT INTO pdf_table 
        SELECT * FROM $select_table"; 
    $select_query = mysql_query($query_select,$connectDatabase); 
} 
+0

您是否檢查過您在表格中選擇的數據? – 2014-10-09 07:24:53

回答

1

請確保兩個表的列數相等。 這是一個很好的做法,用下面的方式與選擇查詢插入記錄: -

INSERT INTO pdf_table (column_1, column_2) SELECT column_1, column_2 FROM $select_table 
1

你的SQL查詢像

INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1; 
0

您使用INSERT INTO pdf_table SELECT * FROM $select_table這種方法會給你只單列插入從第一張桌子到另一張桌子。

按照您的要求,您希望所有從第1表中的記錄應該得到插入您的pdf_table 因此,我會想建議試試下面的辦法 可能這是你在尋找什麼

if(isset($_POST['select_table'])) 
{ 
    $select_table = mysql_real_escape_string($_POST['select_table']); 

    $select_query = mysql_query("select * from $select_table ",$connectDatabase); 

    while ($row = mysql_fetch_array($select_query)) 
    { 
     mysql_query("insert into pdf_table values($row['column1'],$row['column2'],...,$row['columns']) ",$connectDatabase); 

    } 

} 
0

請嘗試這一個:

if(isset($_POST['select_table'])) 
{ 
    $select_table = mysql_real_escape_string($_POST['select_table']); 
    $query_select = " Create Table pdf_table (SELECT * FROM $select_table); "; 
    $select_query = mysql_query($query_select,$connectDatabase); 
} 

但是,此查詢將創建新表「pdf_table」。

相關問題