根据文本文件调整MySQL数据库

时间:2015-08-04 15:42:03

标签: php mysql database

我正在做一个电影数据库项目来学习MySQL和PHP。到目前为止,我有一个Python脚本来搜索文件夹,看看是否添加或删除了文件。如果它检测到添加或删除了文件,它将运行另一个获取电影文件名称的Python脚本,然后搜索OMDb并返回某些值(如标题,年份,图表,评级等)。然后将此信息存储到供MySQL使用的文件中。

文件格式为

<\ n>“\ N Title Year Plot Rating”(每个之间的标签)

在我的PHP文件中,我有这段代码:

def register_learner
    @event = Event.find(params[:event_id])
    @registation = EventRegistration.new first_name: params[:first_name], last_name: params[:last_name], email: params[:email], event_id: params[:event_id]
    if !@registation.valid?
      flash[:notice] = @registation.errors.full_messages.to_sentence
      redirect_to(event_path(@event))
    else
      @registation.save
    end
end

之后我有一个循环,它回应一些HTML来生成一个表。

一切正常。当我添加文件时,Python检测到它,从互联网获取电影信息并将信息添加到文件中,然后PHP将该信息加载到MySQL数据库然后显示它。

但是,当我从Python查找的目录中删除文件时,MySQL数据库的文件会更新,但MySQL仍然在数据库中删除了电影/文件。

我怎样才能让MySQL(通过PHP)从文件加载数据,但是替换它而不是附加它?

1 个答案:

答案 0 :(得分:1)

如果您希望表与输入文件完全相同,最简单的解决方案是事先TRUNCATE(假设没有外键指向行)。

TRUNCATE将擦除表格,之后LOAD DATA命令将插入新的新行。