我相信這個問題已經出現,因爲我做了兩倍於我想象中的工作的激怒是必要的。數據庫正常化和懶惰的開發
我接受這樣一個想法,即我可能缺乏MySQL和PHP的經驗來思考一個更簡單的解決方案。
我的問題是,我有幾個表(我可能會添加更多),這些是父表,只包含兩個字段 - 一個id(int)和一個名稱標識它。
在這一刻,我有七個表,每個表中至少有15個字段。每個表都有一個字段,其中包含我可以鏈接到父表的id。
所有這些數據不需要填寫 - 您只需要在父表中創建一個條目即可。對於其他表格,我有單獨的表格。
現在,這些表單用於更新字段中的數據,這意味着如果有任何數據可用,我必須從表中提取數據。
我想要做的是當我從表單接收數據時,我可以在我的模型中使用UPDATE查詢。但是如果我想要更新的表沒有該特定ID的條目,我需要做一個插入。
所以,我現在的僞代碼是這樣的:
$sql = "SELECT id FROM table_x WHERE parent_id = ".$parent_id;
$res = $mysql_query($sql);
if(mysql_num_rows($res) == 1)
{
$sql = "UPDATE table_x SET ... WHERE parent_id = ".$parent_id;
}
else
{
$sql = "INSERT INTO table_x VALUES (...)";
}
mysql_query($sql);
我有兩個爲每個表我已經做到這一點 - 我可以做不同的事情或者更聰明,這只是它必須做的方式?因爲這對我來說似乎非常低效。
這正是我所期待的。 – Repox 2010-11-23 13:11:33