是否有更好的方法来插入记录?

时间:2016-05-02 14:42:35

标签: php mysql database

我有一个类项目,用mysql&amp ;;构建一个库管理系统。 PHP。

我在图书馆有3个项目:书籍,音频和视频。每个都有不同的属性和一个项目ID。

TABLES:

 ITEM(item_id A.INCREMENT, TYPE)
 BOOK(b_id,name,author etc.)
 VIDEO(v_id, ETC.)
 AUDIO(a_id, ETC.)

但是,我必须使用3个sql语句将项添加到特定的表和项表。有更好的方法吗?我实际上不需要ITEM课程,我只是为了更一般。没有它会不好?

这就是用途。

$sql="INSERT INTO ITEM  values(NULL,'BOOK') ";
        $query = $this->db->query($sql);
        $sql="SELECT ID as id FROM ITEM  WHERE ID=last_insert_id()";
        $query=$this->db->query($sql)->row_array();
        $name =  $book_name;

        $sql = "INSERT INTO BOOKS values ('".$query['id']."','".$name."','".$author."','".$title."','".$year."','".$price."','AVAIBLE',NOW(),'0')";
        $query = $this->db->query($sql);

1 个答案:

答案 0 :(得分:0)

INSERT INTO ITEM (`type`) values ('BOOK');

INSERT INTO BOOKS (b_id, name, author) 
select last_insert_id(), '$name', '$author';

顺便说一句,如果您使用准备好的语句,您的查询将更具可读性,并且可以防止SQL注入。