我正在做一个电影数据库项目来学习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)从文件加载数据,但是替换它而不是附加它?
答案 0 :(得分:1)
如果您希望表与输入文件完全相同,最简单的解决方案是事先TRUNCATE(假设没有外键指向行)。
TRUNCATE
将擦除表格,之后LOAD DATA
命令将插入新的新行。