2014-01-18 63 views
2

我有一個filesMySQL的更新具有相同值的多個行

(userID, fileID, fileName, folderID, folderName).

我要爲這裏找到重複如

當前用戶更新多行,我有userID=1誰有2 files兩下'work'folderID of '1'folderName

我想更新的F oldName改爲'work1',但保持不變folderID of '1'

這是我當前的SQL語句,我不能得到它的工作:

UPDATE files SET fileFolder = '$folderName' 
WHERE folderID = '$folderID' AND userID = '$userID' 
+0

請解釋一下你的意思是由這是行不通的,錯誤信息等 –

+0

不清楚!你能否展示你的演示值表 – sanjeev

+0

@ Andrew-OpenGeoCode這個sql查詢是不會進行的。它不會對我想要更改的數據做任何事情。 – user1386999

回答

0
UPDATE files SET fileFolder = '$folderName' 
WHERE folderID = '$folderID' AND userID = '$userID' 

,而不是設置fileFolder的,你有沒有嘗試使用文件夾名稱?例如..

UPDATE files SET folderName= '$folderName' 
WHERE folderID = '$folderID' AND userID = '$userID' 
0

您需要更新文件夾名稱,例如,如果工作文件夾有多個時間,則工作到work1。所以你需要檢查舊文件夾是否有多次。

嘗試是這樣的(未測試):

UPDATE files SET folderName= '$folderName' 
    WHERE folderID = '$folderID' AND userID = '$userID' AND (1 < (SELECT count(*) from files where folderID = $folderID and folderName='oldFolderName')) 
相關問題