【问题标题】:Cannot delete a mnesia table that I know exists无法删除我知道存在的 mnesia 表
【发布时间】:2018-11-21 22:19:33
【问题描述】:

我有一个要删除的记忆表。但是,当我尝试运行 :mnesia.delete(TableName) 时,我得到了这个错误 {:aborted, {:no_exists, TableName}}

当我尝试通过运行:mnesia.create_table(TableName, [attributes: [:id, :att1, :att2], disc_copies: [Node.self()]]) 创建同一个表时,我得到了这个{:aborted, {:already_exists, TableName}}

删除后我仍然可以看到表的 .DCD 文件,这是什么原因造成的,我该如何解决?

注意:代码位于 Elixir 代码库中。

编辑:当我的应用程序启动时,我会尝试删除并重新创建该表,即使它存在。

【问题讨论】:

    标签: erlang elixir mnesia


    【解决方案1】:

    :mnesia.delete/1 在给定表中查找要删除的键(并采用元组 {Table, Key})。

    您可能需要:mnesia.delete_table/1,它将删除表本身。

    更多文档:http://erlang.org/doc/man/mnesia.html#delete_table-1

    【讨论】:

      猜你喜欢
      • 2015-12-20
      • 1970-01-01
      • 2015-04-22
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多