我正在尝试更新名为premier\u products
的数据库中名为rep
的表。该表的主键是rep_num
。
当我运行以下语句时:
update rep
set last_name = "Perry"
where rep_num = 85;
我收到一个错误,上面写着“您正在使用安全更新模式,并且您试图更新一个没有使用键列的WHERE的表。”
我在谷歌上搜索了那个错误消息,大多数回复都是“你必须使用where
子句或关闭安全模式”。但正如您所看到的,我使用的是where
子句。如果我有where
子句,为什么会出现错误?
MySQL服务器版本5.6。20
虽然只保存数字,但主键类型是char(2)而不是tinyint(2),并且在更新记录时,在where条件中给出的是数值,而不是char值。我认为这就是索引机制触发错误的地方,并告诉您,您的where条件不安全或可能产生错误的结果。
在你的情况下,试试看
update rep
set last_name = "Perry"
where rep_num = '85';
附言:你为什么不给你的桌子起个前缀呢?像tbl_代表?只是一个想法。
我从这里下载MySQL ZIP Archive:https://dev.mysql.com/downloads/mysql/(Windows(x86,64位), ZIP Archive) 我从来没有使用zip文件安装。所以我遵循这个教程:https://www.youtube.com/watch?v=kJbwKQqwtoE 从youtube教程中,解压缩zip文件后,会出现 但是当我提取zip文件
问题内容: 我刚刚安装并测试了elasticsearch,它看起来很棒,我需要知道一些东西,我有一个配置文件 在目录中 并且我插入了一个包含一个单词的文档,如果我搜索关键字, 它说什么也没找到… 在索引之前它不会干或我在配置中错过了一些东西.... 问题答案: 您的查询看起来如何? 您的配置看起来不太好。尝试:
问题内容: 我知道静态方法在类级别。因此,我知道我不需要创建实例来调用静态方法。但我也知道我可以将静态方法(如LIKE)称为实例方法。这是我感到困惑的地方,因为我期望从null对象调用静态方法(就像在调用实例方法中一样)。我真的很感谢一些解释,为什么我错了一个期望。 这是示例代码: 问题答案: 通过实例调用静态方法不需要实例存在。只要编译器能够确定变量的类型,它就可以在评估表达式并丢弃结果后静态进
Java中的本质上是不可靠的。具体地说,我对接口的最大问题是,它需要一个不定义方法本身的方法行为。因此,如果遍历一个列表,您必须使用反射来访问它定义的行为。然而,在Java8中,我们现在有了默认方法,现在我问为什么在中没有默认的方法。 我理解为什么接口不能默认对象方法,但是,这是一个明确的设计决定,所以可以做出例外。 我有点想弃用并将其内部代码更改为类似以下内容: 然后继续使用使作为中的默认方法的
我使用MVC页面中的Kendo DatePicker值构建了一个模型: 但是,如果我输入值,而不是单击日历并选择日期,它在这里不会得到值。我怎样才能得到这个数据?
我有一个通过Interface Builder定义的布局约束视图。由于它们无法暂时停用,我决定通过拨打以下电话有选择地删除它们: 但是,之后约束仍然驻留在视图中。约束。此外,我还希望以编程方式添加约束(同样,因为我无法(取消)激活它们): 对我的方法的任何调用都会导致变量wasAdded的值NO。这也反映在用户界面上,它根本没有改变。 最后,我既不能以编程方式添加约束,也不能删除添加到情节提要的约