0
在php mysql中,如何在两个表中同时输入数据,并且这两个表都具有主键 - 外键关系。比如说。使用一个查询将数据插入到两个表中
表1
id(P.K) | username | password
表2
id(F.K) | fname | lname | email
我已经研究,我不想使用LAST_INSERT_ID()或mysql_insert_id()。还有其他方法吗?
在php mysql中,如何在两个表中同时输入数据,并且这两个表都具有主键 - 外键关系。比如说。使用一个查询将数据插入到两个表中
表1
id(P.K) | username | password
表2
id(F.K) | fname | lname | email
我已经研究,我不想使用LAST_INSERT_ID()或mysql_insert_id()。还有其他方法吗?
有很多方法可以做到这一点,其中之一(和最好的恕我直言)正在您的主表创建一个触发器,将更新您的第二个表。例如:
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;
为什么你不想使用last_insert_id或类似的?除了不使用身份列,答案是否定的。不使用身份将很难推荐,并且您仍然希望在同一个事务中插入两个身份... –