我正在編寫一個腳本,用於更新客戶表中的記錄。顯示更新記錄SQL PHP
是否有一個優雅的方式來運行更新,只需打印更新的內容,而不是使用相同的WHERE CONDITION
功能運行另一個SELECT
。
我知道如何做到這一點的唯一方法是首先進行選擇,然後更新select中的每條記錄,然後將其打印出來。
即:
if(isset($dry_run)) {
SELECT a, b, c, d FROM customer
}
else {
UPDATE CUSTOMER set d='blah'
}
這將是很好,如果UPDATE
可以無需編寫代碼,並沒有返回結果集,我可以再打印出來,以顯示所有更新的記錄CUSTOMER_ID,名字,姓氏和電子郵件不止一次地擊中數據庫。有這樣的事情存在嗎?
- 編輯 -
由於共識不,不能這樣做 - 任何人都可以解釋爲什麼SQL不能捆綁更新的行成一個對象,你就可以遍歷並打印出?
簡而言之:沒有。長答案:'UPDATE'不返回結果集。你需要做一個'SELECT'。 – 2014-01-14 07:14:51
Darn :(它奇怪的是他們不能做一個'SELECT FOR UPDATE'或者類似的東西:( – FaddishWorm
'select for update')用於鎖定交易中的字段,如果你只想做一個空運行,你不需要 –