我正在尝试更新表,但首先检查Zend框架中表中的记录是否退出。
我正在尝试使用DUPLICATE KEY UPDATE语法上的insert实现相同的功能。
下面是我的实际更新查询。
$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关键字,但没有帮助。