首先说结果:
1.检查自己修改的是表还是视图,假如是视图的话是修改不了的,自行百度。
2.修改数据后刷新又恢复或者说无法提交事务的原因是没有给表设置主键,设置完主键要记得保存,否则你会发现设置完主键后还是没用。
下面是正文:
在使用Navicat来操作Mysql数据库时疑惑:能不能直接在可视化操作界面上操作(之前一直是用的python接口操作数据库的),但是在直接修改完数据后无论是用 ctrl + s 还是点击保存提交甚至是用提交事务的方法都无法成功保存,在刷新之后数据又恢复了操作前的样子。
在自行百度了许久依然没找到正确的解决方案,后来在尝试添加了主键以后还是没用。
只能继续排除错误:
发现自己手敲指令可以进行操作修改,但是用快捷键修改的办法系统自己给出的指令却不太正常:
有很多个AND,最后还有个LIMIT,将这个指令复制到命令行里运行发现也同样无法运行成功,effct rows 为 0。
在查询修改锁定某一行数据的时候按理说有一个ID就行了,这里自行设置这么多AND的原因还是没有设置主键,看来还是主键的问题,但是之前已经发现修改主键没用啊!
正在苦恼之时准备用重启大法重启数据库时,界面提示是否保存对数据库的修改,保存以后竟然能修改了,不会再恢复原样了:这时才发现,之前添加了主键,但是没有保存,所以表的属性还是没有改过来。
且,在成功添加主键以后,系统自行生成的指令也正常了: