有什麼辦法可選更新任何多個字段的SQL語句?我只能得到類似的東西:任何更新多個字段的SQL語句中的
UPDATE Customer SET
ContactName = ? <=== what to do here if ? is null???
, CompanyName = ? <=== what to do here if ? is null???
, AddressId = ? <=== what to do here if ? is null???
, ...
WHERE CustomerId = ?
由於包裝層和MySQL的限制,它必須是單個語句。
爲了澄清,我想創建將與一個或多個非空值列出的字段上運行,並且將只更新那些字段,其中值不爲空,只留下其他的一個聲明。
這是一個RESTful更新API,我不希望每個可能的字段組合都有一個單獨的語句,我不想要求API調用者提供記錄中的每個字段,這將是不實用的並且不會面向未來(添加一個字段打破現有的API調用)。而且因爲它是一個REST API,我正在尋找映射POST /customer/xxx?ContactName=...&CompanyName=...
來更新記錄。
如果'ContactName'是'NULL',有什麼大不了的?或者你的意思是「我如何只更新已賦值的字段?」你用什麼應用程序編程語言來執行這些查詢? – tadman