如何在单个原子操作中将临时表转换为静态表,同时仍然不知道表结构,但在MySQL中保留表结构?
对于预先创建的临时表:
CREATE TEMPORARY TABLE _tmp SELECT 0 AS Col1, 'text' AS Col2;
ALTER TABLE _tmp ADD UNIQUE INDEX (Col1, Col2);当然,你也可以这样说:
CREATE TABLE permanent SELECT * FROM _tmp; -- 1
ALTER TABLE permanent ADD UNIQUE INDEX (Col1, Col2); -- 2或者,由于缺乏更好的解决方案,我正在使用:
-- mostly agnostic to the structure unless for generated or auto-increment columns
CREATE TABLE permanent LIKE _tmp; -- 1
INSERT INTO permanent SELECT * FROM _tmp; -- 2如上所述,目前我只能使用至少2条(DDL + (DDL或DML))语句来完成此任务。
有没有办法将其改进为单一的DDL?也许是一种便于组合LIKE和INSERT的功能
https://stackoverflow.com/questions/65509960
复制相似问题