想要创建一个具有auto_increment字段以及必须从另一个表中选择的字段的临时表。

这是我所拥有的(不起作用)

CREATE TEMPORARY TABLE tmp  (id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
(SELECT valueName AS valueName
FROM sometable
WHERE sometable.somevalue='00'));

他们自己完成了这些工作,但是可以获得正确的语法来完成这两项工作
CREATE TEMPORARY TABLE tmp  (id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY)

CREATE TEMPORARY TABLE tmp AS SELECT valueName AS valueName FROM sometable
WHERE sometable.somevalue='00';

最佳答案

CREATE TEMPORARY TABLE tmp (
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
    valueName  varchar(16) // whatever type it should be
);

INSERT INTO tmp (valueName) SELECT valueName FROM sometable WHERE ...

相关文档在这里:http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-select-into-table.html

10-06 08:49