2013-07-24 16 views
0

我有一個長長的清單API的調用內置基於我的數據庫產品表,今天我們要一個子產品添加到這個表(與添加新表或反身關係)編輯查詢子句(SQL Sollution)

但是我們需要避免編輯所有API的調用/查詢,在執行它之前編輯查詢的子句是否有Mysql下的任何解決方案?

回答

0

其實沒有直接回答你的問題,但也許它可以幫助反正。

您可以創建一個視圖,它就像一個虛擬表。例如,如果你有表

product(id, attr1) 
subproduct(id, subattr1, subattr2) 

如果你仔細定義視圖,您可以像

CREATE VIEW legacy_products AS 
SELECT 
    p.id, p.attr, s.subattr 
FROM 
    products p LEFT JOIN subproducts s ON p.id = s.id 

視圖,你能避免改變你的長期API調用的列表。但前提是它們僅包含SELECT查詢。可以對視圖進行更新,但對於兩個或多個基表(如本例中)的視圖,這通常不適用。

SQLFiddle用於玩弄:http://sqlfiddle.com/#!2/85676/1 爲視圖定義見本:http://dev.mysql.com/doc/refman/5.1/en/create-view.html