2

我想将 SQL 的行复制到同一个表中。但在我的表中,我有一个“文本”列。

使用此 SQL:

CREATE TEMPORARY TABLE produit2 ENGINE=MEMORY SELECT * FROM produit WHERE pdt_ID = 'IPSUMS';
UPDATE produit2 SET pdt_ID='ID_TEMP';
INSERT INTO produit SELECT * FROM produit2;
DROP TABLE produit2;

我收到此错误:

#1163 - The used table type doesn't support BLOB/TEXT columns

这是我的桌子:

pdt_ID varchar(6)
pdt_nom varchar(130)
pdt_stitre varchar(255)
pdt_accroche varchar(255)
pdt_desc text
pdt_img varchar(25)
pdt_pdf varchar(10)
pdt_garantie varchar(80)
edit_ID varchar(7)
scat_ID int(11)
pdt_asso1 char(3)
pdt_asso2 char(3) 
pdt_online tinyint(4)

可以帮我复制行吗?如何?

4

1 回答 1

4

您不能将 TEXT 列(实际上是 blob)存储在内存表中。看这里

根据您的最终目标,您可以插入 TEXT 列的 md5 哈希值来保留实体身份。否则,您需要将 pdt_desc 等放入另一个表并引用它的主键 - 这也将为您节省一些存储/内存。

于 2013-08-30T16:44:57.680 回答