Я пытаюсь обновить таблицу, но сначала проверьте, не выходит ли запись из таблицы в 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 из этого поста, но не помогло.
Задача ещё не решена.
Других решений пока нет …