[英]Selecting multiple tables MySQL
我正在使用MySQL連接器C 6.0.2 ,我需要選擇Table1並在那里讀取一些值,然后切換到table2並在那里也讀取值,等等,我有兩個以上的表需要從一個表切換到另一個表。 我怎樣才能做到這一點 ?
示例代碼:
connect=mysql_real_connect(connect,SERVER,USER,PASSWORD,DATABASE,0,NULL,0);
if(connect)
{
MYSQL_RES *res_set;
MYSQL_ROW row;
////table1
mysql_query(connect,"SELECT * FROM `Table1` WHERE `Column2`='1234'");
unsigned int i = 0;
res_set = mysql_store_result(connect);
unsigned int numrows = mysql_num_rows(res_set);
if(numrows==0)
{
return false;
}else
{
while ((row = mysql_fetch_row(res_set)) != NULL)
{
if(strcmp(row[2], "true")==NULL)
{/////////Here I need to read or get the values from Table2
///Select table two
}else
return false;
}
}
}
更新:我想我已經解決了,這很簡單
connect=mysql_real_connect(connect,SERVER,USER,PASSWORD,DATABASE,0,NULL,0);
if(connect)
{
MYSQL_RES *res_set;
MYSQL_ROW row;
////table1
mysql_query(connect,"SELECT * FROM `Table1` WHERE `Column2`='1234'");
res_set = mysql_store_result(connect);
unsigned int numrows = mysql_num_rows(res_set);
if(numrows==0)
{
return false;
}else
{
while ((row = mysql_fetch_row(res_set)) != NULL)
{
if(strcmp(row[2], "true")==NULL)
{/////////Here I need to read or get the values from Table2
///Select table two
MYSQL_RES *res_set2;
////table2
mysql_query(connect,"SELECT * FROM `Table2` WHERE `Column2`='1234'");
res_set2 = mysql_store_result(connect);
unsigned int numrows2 = mysql_num_rows(res_set2);
if(numrows2==0)
{
//no result
}else
{
//do something
}
}else
return false;
}
}
}
您具有從查詢中獲得的res_set
變量; 您將從第二個查詢中獲得另一個變量。 您無需在表之間切換,而只是從正確的查詢結果中獲得正確的值。
還要注意,這聽起來很像您應該在SQL查詢中而不是在代碼內部執行此操作,但這完全取決於您要執行的操作。
我建議您使用SQL語句從兩個表中返回結果集。
研究“ SELECT JOIN”語句。
經驗法則是讓數據執行大多數數據庫工作,包括搜索多個表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.