代码之家  ›  专栏  ›  技术社区  ›  Andrew

在MySQL中删除查询

  •  -2
  • Andrew  · 技术社区  · 17 年前

    阅读文档底部,特别是:

    您仍然可以检索已删除对象的属性,但不能保存已删除对象。

    怎样?是否仅在启用设置时才启用?

    3 回复  |  直到 12 年前
        1
  •  0
  •   cg.    17 年前

    我对推进装置的具体工作不太熟悉。但了解数据库(MySQL)和ORM层(推进)之间的区别是很重要的。推进是一种抽象,通过将行包装在对象中来表示数据库中的行。然后,您可以通过对相应对象调用一个方法来更改或删除这些行,而推进将生成并执行所需的SQL语句。

    因此,在执行SQL DELETE语句之后,对象包装器仍将保留删除行之前加载的数据。但是它将不再允许您修改行数据,因为没有一个地方可以让推进将这些更改写入。

        2
  •  0
  •   Sebastian Dietz    17 年前

    已删除的对象将在数据库中被删除并标记为已删除。您仍然可以在PHP中访问它,例如向用户显示一些再见数据(“产品XYZ被删除”)。

        3
  •  0
  •   Sarel Botha    17 年前

    我认为“object”指的是已经加载到内存中的对象。这意味着您仍然可以查看它的属性,但是如果您尝试调用save,它将尝试执行一个update s sql语句,该语句将失败,因为记录实际上已被删除。