2013-08-24 108 views
0

在php mysql中,如何在两个表中同时输入数据,并且这两个表都具有主键 - 外键关系。比如说。使用一个查询将数据插入到两个表中

表1

id(P.K) | username | password 

表2

id(F.K) | fname | lname | email 

我已经研究,我不想使用LAST_INSERT_ID()或mysql_insert_id()。还有其他方法吗?

+0

为什么你不想使用last_insert_id或类似的?除了不使用身份列,答案是否定的。不使用身份将很难推荐,并且您仍然希望在同一个事务中插入两个身份... –

回答

0

有很多方法可以做到这一点,其中之一(和最好的恕我直言)正在您的主表创建一个触发器,将更新您的第二个表。例如:

CREATE TRIGGER <trigger name> AFTER INSERT ON <your_primary_table> 
FOR EACH ROW 
BEGIN 
    SET @id = NEW.id; 
    INSERT INTO <your_second_table>(id) VALUES (@id); 
END; 
相关问题