如何跨两个表更新和编辑?

时间:2012-11-15 14:56:31

标签: php mysql

我有两个我创建的MySQL表:

CREATE TABLE book(id INT UNSIGNED NOT NULL AUTO_INCREMENT KEY, title VARCHAR(256),
book_id INT, author VARCHAR(128), year INT, httplink VARCHAR(256)) ENGINE MyISAM;

CREATE TABLE excerpt(id INT UNSIGNED NOT NULL AUTO_INCREMENT KEY, book_id INT, excerpt_title
VARCHAR(256), year INT, measure VARCHAR(256), page VARCHAR(128)) ENGINE MyISAM;

因此,有一个书籍表......以及每本书的摘录表......它们是通过book_id链接的。每本独特的书都有一个book_id ...并且该书的每个摘录都有相同的book_id。

现在,我有一个php表单,允许用户在搜索后编辑一个条目:

<p>Edit Record</p>
<form method="post">
<p>Title:
<input type="text" name="title" value="$n"></p>
<p>Author:
<input type="text" name="author" value="$e"></p>
<p>Year:
<input type="integer" name="year" value="$p"></p>
<p>Mirlyn link:
<input type="text" name="link" value="$l"></p>
<p>Excerpt name:
<input type="text" name="excerpt" value="$ex"></p>
<p>Page numbers
<input type="text" name="page" value="$s"></p>
<input type="hidden" name="id" value="$id">
<p><input type="submit" value="Update"/>

当用户点击链接旁边的编辑按钮时,以下字段会自动填充用户选择编辑的记录:标题,作者,年份。

如果用户没有更改标题,但更改(或不更改)其他字段,更新记录的正确MySQL语句是什么?我相信我只需要更新'摘录'表。

但是......如果用户编辑标题......我该如何管理?我必须检查'book'表中是否存在标题。如果是的话,我必须更改摘录的book_id。如果没有,我必须使用唯一的book_id将其添加到'book'表中,然后在摘录表中适当地更改记录。帮助

谢谢!

0 个答案:

没有答案