Php 如何在临时表中插入新数据集并使用Mysql获取新id?

Php 如何在临时表中插入新数据集并使用Mysql获取新id?,php,mysql,temp-tables,Php,Mysql,Temp Tables,我尝试在临时表中插入数据,但当调用select last\u insert\u id()时,它返回的都是相同的数字。我已设置自动燃烧设置 在普通表中可以工作,但当我将普通表复制到临时表时,select last_insert_id()就出现了问题 这是我的代码: CREATE TEMPORARY TABLE IF NOT EXISTS suchergebnisse_temp (SELECT * from suchergebnisse); INSERT INTO suchergebnisse_te

我尝试在临时表中插入数据,但当调用select last\u insert\u id()时,它返回的都是相同的数字。我已设置自动燃烧设置

在普通表中可以工作,但当我将普通表复制到临时表时,select last_insert_id()就出现了问题

这是我的代码:

CREATE TEMPORARY TABLE IF NOT EXISTS suchergebnisse_temp (SELECT * from suchergebnisse);
INSERT INTO suchergebnisse_temp SET datensatzid='2865', datum='2015-05-13 00:00:00', tabelle='task', sortierung1='1';
SELECT LAST_INSERT_ID();
正常表格:

CREATE TABLE IF NOT EXISTS `suchergebnisse` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `tabelle` varchar(100) NOT NULL DEFAULT '0',
  `datensatzid` bigint(20) NOT NULL DEFAULT '0',
  `datum` datetime NOT NULL,
  `sortierung1` int(11) NOT NULL COMMENT 'Priorität',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Temporäre Tabelle.';

你能帮我吗?谢谢:)

我忘了将键显式添加到临时表中。它需要执行以下代码:

ALTER TABLE `suchergebnisse_temp`
    CHANGE COLUMN `id` `id` BIGINT(20) NOT NULL AUTO_INCREMENT FIRST,
    ADD PRIMARY KEY (`id`);
因为:

CREATE TEMPORARY TABLE IF NOT EXISTS suchergebnisse_temp (SELECT * from suchergebnisse);

仅复制字段数据,而不复制键数据。密钥数据必须单独声明。

您的insert stmt错误