我正在努力与此查询,并想知道如果我浪费我的时间,需要编写一个PHP脚本或类似下面的事实可能吗?在mysql更新查询中创建变量并重用?可能?
UPDATE my_table
SET @userid = user_id
AND SET filename('http://pathto/newfilename_'@userid'.jpg')
FROM my_table
WHERE filename
LIKE '%_%' AND filename
LIKE '%jpg'AND filename
NOT LIKE 'http%';
基本上我有700页需要在数据库中重命名为为我改变系统不匹配文件名的文件多,他们被称为在数据库中。 格式2_gfhgfhf.jpg
翻译为userid_randomjumble.jpg
,但不是在数据库中的所有文件都是这种格式只有大约700出千。所以我想识别包含_
的名称,但不包含http
(即我不想触摸的正确格式)。
我可以做到这一点,但现在来了棘手的一点!
我想用http://pathto/filename_userid.jpg
替换那个文件名userid_randomjumble.jpg
所以我想将该行的user_id设置为一个变量并将其插入到我的新文件名中。
上述不起作用的显而易见的原因,但我不知道是否有办法我想要做的。我不知道这是否可能?我是否浪费了我的时间,并且应该使用mysql转向PHP并停止懒惰?还是有办法让这个工作?
'$ SQL =“SELECT USER_ID从MY_TABLE WHERE文件名LIKE'%_%'和文件名LIKE'%jpg'和文件名不像'http%''“; $ freetplquery = mysql_query($ sql); while($ update = mysql_fetch_array($ freetplquery)){\t $ userid = $ update [“user_id”]; 的mysql_query( “UPDATE SET MY_TABLE = user_avatar的 'http:// pathto/newfilename_” $用户ID “.JPG'。WHERE USER_ID =” $用户ID “”);}' 写脚本而予正在等着,所以现在全部排序谢谢。但是,我仍然很有兴趣,如果它可能不使用PHP? – 2012-04-12 02:39:04