php mysql-非自动增量主键

php mysql-非自动增量主键,php,mysql,sql,database,Php,Mysql,Sql,Database,非自动增量创建手动主键是否安全。我想用php $id=now 并将其设置为主键的值 为什么? 因为我试图在一个带有LOAD DATA INFILE的表中插入多条记录,比如100条记录,但问题是数据库中的表有关系,我不知道如何获取父表的主键值并将其作为外键插入子表中 我的想法是保存主键的手动值,并在另一个插入中使用它作为外键。 首先,请告诉我是否可以安全地使用我的方法,然后使用加载数据填充的实用解决方案将非常有用。谢谢 编辑: 正如在评论中所说,我认为有些人不理解我问题的本质。我使用PDO,我知道

非自动增量创建手动主键是否安全。我想用php

$id=now

并将其设置为主键的值

为什么?

因为我试图在一个带有LOAD DATA INFILE的表中插入多条记录,比如100条记录,但问题是数据库中的表有关系,我不知道如何获取父表的主键值并将其作为外键插入子表中

我的想法是保存主键的手动值,并在另一个插入中使用它作为外键。 首先,请告诉我是否可以安全地使用我的方法,然后使用加载数据填充的实用解决方案将非常有用。谢谢

编辑:
正如在评论中所说,我认为有些人不理解我问题的本质。我使用PDO,我知道如何获取lastInsertId并将其设置为子表中的外键。问题是我收集大数据,但我不在循环中插入数据。请理解问题,然后尝试发表评论或赢取分数,希望对您有所帮助。如果我的方法不安全,请给出一个解决方案或参考,并解释如何在维护关系的同时,使用加载数据填充在多个表中插入大数据。

使用可能相同的主键是不好的做法。在某个时刻,您将最终丢失数据。始终存在两个时间戳相同的可能性,即使可能性很小。它可能会发生,这是你一直想要避免的!我认为这是一个XY问题。告诉我们您正在尝试做/实现什么?问题是“我不知道如何获取父表的主键值并将其作为外键插入子表”,而不是“创建手动主键是否安全非自动增量”这意味着您每秒最多只能插入一条新记录。。。那么UUID呢?那么这正是您应该做的,查看如何在PHP中生成UUID/GUID并将其用作键。