我有两个mysql表
Table1 : Columns (id(int pk), empid(int), status( varchar(1) ) )
Table2 : Columns (idfk(int fk), paycodeidfk(int fk), amount(int) )
关系:
Table1->id
是主键,Table2->idfk
是外键
如何使用 PDO 在两个关系表中同时插入行。
用于 php 代码
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// First Query
$stmt = $conn->prepare("INSERT INTO `Table1` (`id`, `empid`, `status`) VALUES (?,?,?)";
$stmt->execute([0, 11, 0]);
// Get lastInsrtId
$last_id = $conn->lastInsertId();
// Second Query
$stmt = $conn->prepare("INSERT INTO `Table2` (`idfk`, `paycodeidfk`, `amount`) VALUES (?,?,?);";
$stmt->execute([$last_id, 22, 99]);
如果您想在查询时保存,您可以执行以下操作:
INSERT INTO Table1 (empid, status) VALUES (1,2)
INSERT INTO Table2 (paycodeidfk, amount) VALUES(LAST_INSERT_ID(), 345)
此外,您可以将此查询与 PhP PDO 类一起使用(添加 paran 键而不是值项)。