获取最后插入的行的复杂主键

时间:2015-10-21 15:27:14

标签: php mysql pdo

考虑下表,示例

完全随机
CREATE TABLE `test` (
  `key` int(11) NOT NULL,
  `id2` varchar(255) NOT NULL,
  `id3` varchar(255) NOT NULL,
  `text` varchar(255) NOT NULL,
  PRIMARY KEY (`key`,`id2`,`id3`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我需要插入并获取插入行的唯一标识符,这将是复杂的主键。如果我有一个列主键,我会使用PDO::lastInsertId,但如果我在这种情况下使用它,我会得到语句string(1) "0"的结果INSERT INTO test VALUES (1, 1, 1, 'test')。有什么办法可以在插入后获得复杂密钥的主键列吗?在上面的陈述中,我需要得到array(1, 1, 1)

1 个答案:

答案 0 :(得分:1)

只有当系统生成字段时,mySQL才能返回最后插入的密钥,否则,无法使用函数检索上次保存的数据。

您可以使用生成的标识符并使​​用第二个选择来检索每个键,但我不确定该性能是否符合您的预期。遗憾。

相关问题