考虑这个简单的例子:
INSERT INTO TemporaryTable
SELECT RealTable.name as name
FROM RealTable
LIMIT 1
我正在从 SELECT 创建一个临时表。
问题:临时表的字段大小设置为 SELECT 结果集每个字段的最大长度。 例如,如果结果集包含类似以下内容: name = "John Doe",则临时表中的 "name"字段将为 VARCHAR(8),因为即使 RealTable.name 是一个,“John Doe”的长度也是 8 varchar(255)
我希望 TempoarayTable.name 的长度与真实表中的名称相同。有没有办法自动完成?谢谢。
最佳答案
做一个
CREATE TEMPORARY TABLE tempTable
LIKE oldTable;
INSERT INTO tempTable
SELECT ... FROM ...
关于MySQL从SELECT创建临时表保留原始字段长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26851016/