2014-01-18 5 views
2

У меня есть files столаобновление MYSQL несколько строк с одинаковым значением

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

я хочу обновить несколько строк для пользователя, где дубликаты найдены, таких как

В настоящее время, у меня есть userID=1 кто имеет 2 files как под folderName из 'work' и folderID of '1',

я хочу обновить п старшеName до '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, вы попробуйте использовать FOLDERNAME? такие как ..

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

необходимо обновить имя папки, например, работать на работу1, если рабочая папка имеет более одного раза. поэтому вам нужно проверить, есть ли у старой папки несколько раз.

Попробуйте что-то вроде этого (не проверено):

UPDATE files SET folderName= '$folderName' 
    WHERE folderID = '$folderID' AND userID = '$userID' AND (1 < (SELECT count(*) from files where folderID = $folderID and folderName='oldFolderName')) 
Смежные вопросы