Php 多个mysql\u插入\u id
我有三张这样结构的桌子 员工>id主键,姓名 家庭>家庭id主键,id员工主键 父亲>父亲id PK,家庭id家庭PK,父亲姓名 我知道我可以使用mysql\u insert\u id或last\u insert\u id获取最后一个插入的id,我想获取id并将其插入到每个表中,如下所示:Php 多个mysql\u插入\u id,php,mysql,mysql-insert-id,Php,Mysql,Mysql Insert Id,我有三张这样结构的桌子 员工>id主键,姓名 家庭>家庭id主键,id员工主键 父亲>父亲id PK,家庭id家庭PK,父亲姓名 我知道我可以使用mysql\u insert\u id或last\u insert\u id获取最后一个插入的id,我想获取id并将其插入到每个表中,如下所示: INSERT INTO employee VALUES('', '<value>') // // INSERT INTO family VALUES('', '".mysql_insert_id(
INSERT INTO employee VALUES('', '<value>')
//
//
INSERT INTO family VALUES('', '".mysql_insert_id()."')
// id from employee PK
//
INSERT INTO father VALUES('', '".mysql_insert_id()"', '')
// id from family PK
我做的对吗?如果是,有没有更好的方法来做同样的事情
谢谢 是的,考虑到mysql的警告,这是正确的方法。但是你在第二和第三个例子中引用了一个整数值——这是个坏主意 这种方法的缺点是,即使没有对准备好的语句进行服务器端解析,也需要多次往返数据库发送查询、检索结果、发送插入id请求、检索插入id X 3,这可能是性能瓶颈
如果是这种情况,那么将其打包为Mysql函数将允许操作通过函数而不是过程作为对DBMS的单个调用进行竞争,因为前者可以返回插入id。在新代码中,它们是。取而代之的是,看一看,然后使用or。我现在正在使用mysqli,但由于我仍在学习它,所以我使用了mysqli函数,我在这个问题上知道的最多,只是作为一个例子,谢谢你提醒我因此,在插入之前,我需要使用settype将值转换为字符串?否-表上的数据类型应该是整数-如果是char/varchar等,那么您将遇到重大性能问题,并且可能存在数据完整性问题。