Php 如何在临时表中插入新数据集并使用Mysql获取新id?
我尝试在临时表中插入数据,但当调用select last\u insert\u id()时,它返回的都是相同的数字。我已设置自动燃烧设置 在普通表中可以工作,但当我将普通表复制到临时表时,select last_insert_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
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错误