Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改mysql中特定字段的所有记录_Mysql_Database_Sql Update_Record - Fatal编程技术网

如何更改mysql中特定字段的所有记录

如何更改mysql中特定字段的所有记录,mysql,database,sql-update,record,Mysql,Database,Sql Update,Record,我有一张包含100000条记录的表。表字段包括Id、名称、电影Id和年份。 movieId字段中的数据存储方式类似(/title/tt011161/,…),也存储在字段“year”中,例如(2008)中的数据位于括号内,而不是2008中的数据 有人能帮我把它们改成TT011161和2008吗?(我的意思是删除其他角色,比如电影ID的/title/和()年 非常感谢,试试这个 UPDATE topMovies SET movieId = REPLACE(REPLACE(movieId,'/titl

我有一张包含100000条记录的表。表字段包括Id、名称、电影Id和年份。 movieId字段中的数据存储方式类似(/title/tt011161/,…),也存储在字段“year”中,例如(2008)中的数据位于括号内,而不是2008中的数据

有人能帮我把它们改成TT011161和2008吗?(我的意思是删除其他角色,比如电影ID的/title/和()年

非常感谢,

试试这个

UPDATE topMovies
SET movieId = REPLACE(REPLACE(movieId,'/title/',''),'/',''),
year = REPLACE(REPLACE(year,'(',''), ')','')

对我来说是这样的:

UPDATE topMovies
SET movieId = RIGHT(movieId, LENGTH(movieId) - 7)
它减去了剩下的7个字符,即/title/,剩下的是我需要的(movieId)。
删除年列中括号的方法也很好,只是为了删除右括号,我使用了LEFT(year,LENGHT(year)-1)。

在存储到database@tushar:所以没有办法直接在db中升级它们?谢谢,我也测试了你的答案,它也起了作用:)