要不要这么诡异,就某个字段无法 update

2017-04-14 19:16:32 +08:00
 tianxiacangshen
阿里云 ecs , windows 2012 php+IIS7+mysql ,网站本地测试一切正常,升级的时候某个表新增了一个字段 score ,类型 int ,但是死活 update 无效,比如我同时更新两个字段, paid 和 score ,将语句打印出来是这样:

UPDATE `us_user` SET `paid`=158 WHERE ( `id` = 1 )

score 莫名其妙不见了,重启 mysql 都不行,快崩溃了
2385 次点击
所在节点    PHP
16 条回复
340244120
2017-04-14 19:24:08 +08:00
重启 IIS 呀
tianxiacangshen
2017-04-14 19:29:45 +08:00
@340244120 重启了,甚至整个服务器都重启了,还是不行,其他字段都能更新,就这个不行
jea
2017-04-14 19:30:24 +08:00
如果确认 mysql 里字段已经加上了, 那么看你的 model 里是否增加了字段 score 的定义, 否则...常见的 mvc 架构的框架会被过滤掉的, 最好贴出来你的框架什么的
tianxiacangshen
2017-04-14 19:32:33 +08:00
@jea thinkphp , 我直接用 phpmyadmin 添加了该字段,直接原生 sql 语句更新该字段也自动消失
realpg
2017-04-14 19:33:13 +08:00
自作聪明系列……
tianxiacangshen
2017-04-14 19:35:01 +08:00
@jea 但是我直接 phpmyadmin 给该字段添加数值的话,又是能读出的,就是不能 update
tianxiacangshen
2017-04-14 19:35:20 +08:00
@realpg 啥意思啊 大神?
jea
2017-04-14 19:38:17 +08:00
surfire91
2017-04-14 19:40:27 +08:00
说得这么神奇,感觉就是代码呢,你去 mysql 命令行客户端执行一下也会消失?
jea
2017-04-14 19:45:49 +08:00
@surfire91 没什么神奇的, model 的缓存在手动增加字段之后没有更新, 简单的说就是用框架不扒手册
mokeyjay
2017-04-14 19:51:18 +08:00
命令行里执行 sqlSQL 也不行?
tianxiacangshen
2017-04-14 19:53:29 +08:00
@jea 多谢批评,其实有清缓存的习惯,这次是本地没清缓存一切都正常,所以没往这方面想,多谢
realpg
2017-04-14 20:09:42 +08:00
@tianxiacangshen #7
额 我搞错了 thinkphp 就是缓存问题
以为是某致命框架……那个要从脚本重建数据库结构
Mitt
2017-04-14 23:11:02 +08:00
换框架吧 (逃
ovear
2017-04-14 23:37:04 +08:00
thinkphp 改这些之前先把 debug 打开
jea
2017-04-15 10:20:05 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/354942

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX