有更好的方法插入记录吗


Is there a better way to insert records?

我有一个用mysql&php。

我在图书馆里有三样东西:书、音像制品和录像带。每个都有不同的属性和一个项目id。

表格:

 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);
INSERT INTO ITEM (`type`) values ('BOOK');
INSERT INTO BOOKS (b_id, name, author) 
select last_insert_id(), '$name', '$author';

顺便说一句,如果您使用Prepared Statements,您的查询将更具可读性,并受到SQL注入的保护。