Обновление Mysql на дубликате ключа для нескольких таблиц не работает

Я пытаюсь обновить таблицу, но сначала проверьте, не выходит ли запись из таблицы в Zend Framework.

Я пытаюсь добиться того же, используя вставку по синтаксису DUPLICATE KEY UPDATE.

Ниже мой актуальный запрос на обновление.

$updatetokenquery = "UPDATE `UsersNew`, `UsersOptStatus` SET  UsersOptStatus.Uid ='".$uid."', UsersOptStatus.CreatedDate=now(), UsersOptStatus.Action_key='".$actionkey."',  UsersNew.DeviceToken='".$newdtoken."',". "UsersNew.DeviceInfo='".serialize($data['DeviceInfo'])."' , UsersNew.DeviceType='".strtolower($data['DeviceInfo']['OS'])."'". "WHERE UsersNew.HashedUid ='".$newUserId."' ";

Я пытаюсь проверить, если запись существует, а затем обновить, я вставляю.

Ниже приведен способ, которым я пытаюсь.

$Inserttokenquery = "INSERT INTO UsersOptStatus (Id, Uid, CreatedDate,Action_key) VALUES (1,'$uid',now(),'$actionkey')
ON DUPLICATE KEY UPDATE `UsersNew`, `UsersOptStatus` SET  UsersOptStatus.Uid ='".$uid."', UsersOptStatus.CreatedDate=now(), UsersOptStatus.Action_key='".$actionkey."',  UsersNew.DeviceToken='".$newdtoken."',". "UsersNew.DeviceInfo='".serialize($data['DeviceInfo'])."' , UsersNew.DeviceType='".strtolower($data['DeviceInfo']['OS'])."'". "WHERE UsersNew.HashedUid ='".$newUserId."'";

Я получаю следующую ошибку:

проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать около \ u0027 UsersOptStatus SET UsersOptStatus.Uid = \ u00271608 \ u0027, UsersOptStatus.

Пытался удалить ключевое слово SET из этого поста, но не помогло.

Синтаксическая ошибка с IF EXISTS UPDATE ELSE INSERT

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector