mysql检索连接插入的autoinc值

时间:2015-03-20 16:33:12

标签: php mysql

我们有以下两个表:

CREATE TABLE IF NOT EXISTS `gp` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `amount` decimal(15,2) NOT NULL,
  `user` varchar(100) NOT NULL DEFAULT '',
  `status` tinyint(2) NOT NULL DEFAULT '1',
  `ip` varchar(20) NOT NULL DEFAULT 'N/A',
  `token` varchar(100) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `gp_logs` (
  `id` int(11) NOT NULL,
  `log` varchar(1000) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

我们加入它们,统计数据,但我们很少这样做,因为第二个表中的数据不经常使用,除非我们需要验证。

考虑到我们每秒有很多查询,我们如何优化查询以使用1个INSERT查询而不是2个,并在生成的第2个表(id)中插入正确的gp_logs通过INSERT进入表gp

目前,我们将MYSQL与PHP结合使用:

mysqli_query($con,"INSERT INTO `gp` (amount,user) VALUES ('1234','1')");
$id = mysqli_insert_id($con);
mysqli_query($con,"INSERT INTO gp_logs(id,log) VALUES ('$id','some_data')");

我们希望消除PHP获取最后插入ID的要求,并通过运行单个INSERT查询(使用JOIN)插入两个条目。

0 个答案:

没有答案