我有一個問題,因爲我想填充table_B基於從table_A檢索的行。有沒有辦法在mysql_fetch_row()循環內發出下一個(如INSERT)mysql語句?
if (mysql_query(conn,"Select X,Y,Z from table_A;")) {
die_mysql_err();
}
else
{
res = mysql_use_result(conn);
while ((row = mysql_fetch_row(res)) != NULL) {
>> HERE I would like to INSERT some data into the table_B.
}
mysql_free_result(res);
}
的錯誤信息是:
Commands out of sync; you can't run this command now
我理解的消息,但不知道什麼是最好的解決辦法..
- 我應該建立另一個連接?那麼時間/速度和資源呢?
- 我可以用mysql_store_result()函數解決嗎?
這兩個表都在同一個數據庫中。
做你的抓取,緩存到數據結構,然後在提取查詢已關閉後分別運行插入? –
這是解決方案之一。但尋找像存儲結果集類的堆棧,可能是mysql_store_result()做的伎倆,但找不到任何示例如何做到這一點... –