Я пытаюсь обновить таблицу, но сначала проверим, выходит ли запись из таблицы в Zend Framework.
Я пытаюсь добиться того же, используя insert в синтаксисе 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