2015-07-19 73 views
0

我目前發現自己陷入困惑,因爲這個查詢在MySQL中工作正常,但從PHP中不太好。 返回消息狀態「操作數應包含1列」。先進的謝謝從兩個表中插入不匹配的記錄

表1

| TRADE_DATE |打開| HIGH | LOW |關閉| VOLUME |

+ ------------ + ----------- + ----------- + -------- --- + ----------- + --------- +

| 2015-07-16 | 60.779999 | 60.869999 | 60.75 | 60.830002 | 1050400 |

| 2015-07-15 | 60.34 | 60.560001 | 60.220001 | 60.389999 | 1096400 |

| 2015-07-14 | 60.18 | 60.610001 | 60.169998 | 60.549999 | 1328900 |

| 2015-07-13 | 60.00 | 60.23 | 60.00 | 60.18 | 973300 |

| 2015-07-10 | 59.57 | 59.82 | 59.380001 | 59.720001 | 1506700 |

表2 + ------------ + ----------- + ----------- + ------ ----- + ----------- + --------- +

| TRADE_DATE |打開| HIGH | LOW |關閉| VOLUME |

+ ------------ + ----------- + ----------- + -------- --- + ----------- + --------- +

| 2015-07-17 | 60.950001 | 60.950001 | 60.66 | 60.790001 | 731000 |

| 2015-07-16 | 60.779999 | 60.869999 | 60.75 | 60.830002 | 1050400 |

| 2015-07-15 | 60.34 | 60.560001 | 60.220001 | 60.389999 | 1096400 |

| 2015-07-14 | 60.18 | 60.610001 | 60.169998 | 60.549999 | 1328900 |

| 2015-07-13 | 60.00 | 60.23 | 60.00 | 60.18 | 973300

這裏的查詢

$insertline  = " INSERT INTO `$table1` (SYMBOL, Trade_Date, Open, High, Low, Close, Volume, Adj_Close) SELECT SYMBOL, Trade_Date, Open, High, Low, Close, Volume, Adj_Close FROM `$table2` WHERE TRADE_DATE NOT IN (SELECT * FROM `$table2`) ";  

    $result6   = mysqli_query($dbcon, $insertline) or die(mysqli_error($dbcon)); 

回答

0

(A)你不能做一個not in (select [multiple columns]) (B)您not in需要看table1,不表2,因爲你正試圖從表2涵蓋日期合併數據尚未在table1中。

+0

這是一個錯誤,當我在這裏寫它感謝指出它的糾正是「不在」...我也發佈了表數據以及 – user5132141

+0

目標是將2015-07-17條目添加到表一。通過PHP – user5132141

+0

@ user5132141我編輯了我的答案。希望它能提供你所需要的。隨時接受它,如果如此:) –

相關問題