MySQL更新model_type为App\User显示为AppUser的问题求助
解决MySQL更新时
App\User变为AppUser的问题 问题根源是MySQL默认的转义规则:单引号包裹的字符串中,反斜杠\会被当作转义符,所以App\User里的\U会被解析成普通的U,导致存储后丢失反斜杠。
可以通过以下两种方式正确更新:
方法1:用双反斜杠转义反斜杠
将字符串里的单个反斜杠替换成双反斜杠,让MySQL识别出这是一个真实的反斜杠字符:UPDATE core_model_has_roles SET model_type = 'App\\User' WHERE model_id = 3022;方法2:临时禁用反斜杠转义模式
开启NO_BACKSLASH_ESCAPES会话模式后,反斜杠不再被当作转义符,直接执行原逻辑即可:SET sql_mode = 'NO_BACKSLASH_ESCAPES'; UPDATE core_model_has_roles SET model_type = 'App\User' WHERE model_id = 3022;
执行任意一种方法后,查询表数据就能看到model_type字段正确存储为App\User了。
内容的提问来源于stack exchange,提问作者Stack_naung1997
相关产品推荐
相关产品推荐

