我用CREATE TEMPORARY TABLE SELECT的正确语法摔了一会儿。想出了一些事情,我想与社区的其他人分享答案。
有关该语句的基本信息可以在以下MySQL链接中找到:
有时候,解释规范可能是艰巨的。由于大多数人从示例中学到最好的,我将分享我如何创建一个工作语句,以及如何修改它为您工作。
>添加多个索引
此语句显示如何添加多个索引(请注意,索引名称 – 小写 – 是可选的):
CREATE TEMPORARY TABLE core.my_tmp_table
(INDEX my_index_name (tag, time), UNIQUE my_unique_index_name (order_number))
SELECT * FROM core.my_big_table
WHERE my_val = 1
>添加一个新的主键:
CREATE TEMPORARY TABLE core.my_tmp_table
(PRIMARY KEY my_pkey (order_number),
INDEX cmpd_key (user_id, time))
SELECT * FROM core.my_big_table
>创建其他列
您可以创建一个新表,该表的列数多于SELECT语句中指定的列。在表定义中指定附加列。在表定义中指定并且在select中找不到的列将是新表中的第一列,后面是SELECT语句插入的列。
CREATE TEMPORARY TABLE core.my_tmp_table
(my_new_id BIGINT NOT NULL AUTO_INCREMENT,
PRIMARY KEY my_pkey