将MySQL Blob行复制到其他具有不同用户名的行

时间:2012-02-05 16:34:05

标签: mysql copy blob

好的 - 我从Horde Webmail 3更新到Horde Webmail 4。

在该转换中,'horde_prefs'表现在显示'pref_value'字段的类型为BLOB。以前,它是LONGTEXT类型。

在设置新帐户时,我希望在用户登录之前为所有用户提供默认首选项 - 以确保它们都具有正确的默认首选项。

之前,我只是创建了一个PHP脚本,其中包含所有默认值作为SQL条目 - 并使用用户名插入它们。现在,因为这些是BLOB条目,我不能这样做。

所以从本质上讲,该表有四个字段:

pref_uid(用户名) pref_scope(为首选项设置的应用程序 - 如horde,ingo,imp等) pref_name(首选项的名称 - 例如last_login,last_maintenance等) pref_value(包含实际首选项的BLOB条目)

所以 - 一个用户帐户和所有首选项可能有20多行。

我想复制一个用户的所有行(比如tester@test.com)来为新用户设置默认首选项(比如newuser@test.com)

有什么方法可以做到这一点吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

可能如下:

insert into horde_prefs(pref_uid, pref_scope, pref_name, pref_value)
select 'newuser@test.com', pref_scope, pref_name, pref_value
from horde_prefs
where pref_uid='tester@test.com'

插入..选择..也适用于blob。