mysql select 作为 var 并在更新中使用
mysql select as var and use in an update
我有一个包含这些字段的数据库:
picture_id - (varchar) generally the actual filename of the picture (ie. myfile001.jpg)
event - (varchar) string describing the event (ie. Bob's Wedding 2005)
date_of_picture - (varchar) string representing a date (ie. 2004.01.45, Jan 2004, Summer 1969, etc)
filename - (text) - the full path to the picture, including the filename (ie. /pics/bob/2005/wedding)
我现在需要更改一些文件名条目。
有没有一种方法可以查询事件并使用生成的 picture_id 来更新文件名?
类似于:
select picture_id as picid from photos where
event='Bob's Wedding 2005' update set filename='/my/new/path/here/$picid'
任何给定的事件都可能有 100 个 picture_id。
我不是DBA,这只是个人使用的简单数据库,所以如果我的问题不清楚或者我的数据库结构完全是业余的,请原谅我。
将您的 select 翻译成适当的更新,我们可以尝试:
UPDATE photos
SET filename = CONCAT('/my/new/path/here/', picture_id)
WHERE event = 'Bob''s Wedding 2005';
我有一个包含这些字段的数据库:
picture_id - (varchar) generally the actual filename of the picture (ie. myfile001.jpg)
event - (varchar) string describing the event (ie. Bob's Wedding 2005)
date_of_picture - (varchar) string representing a date (ie. 2004.01.45, Jan 2004, Summer 1969, etc)
filename - (text) - the full path to the picture, including the filename (ie. /pics/bob/2005/wedding)
我现在需要更改一些文件名条目。
有没有一种方法可以查询事件并使用生成的 picture_id 来更新文件名?
类似于:
select picture_id as picid from photos where
event='Bob's Wedding 2005' update set filename='/my/new/path/here/$picid'
任何给定的事件都可能有 100 个 picture_id。
我不是DBA,这只是个人使用的简单数据库,所以如果我的问题不清楚或者我的数据库结构完全是业余的,请原谅我。
将您的 select 翻译成适当的更新,我们可以尝试:
UPDATE photos
SET filename = CONCAT('/my/new/path/here/', picture_id)
WHERE event = 'Bob''s Wedding 2005';