Nifle Asked: 2012-02-02 08:20:30 +0800 CST2012-02-02 08:20:30 +0800 CST 2012-02-02 08:20:30 +0800 CST Copiar blob de uma linha para outra 772 Eu tenho um blob corrompido em uma linha. Eu gostaria de substituir isso por outro blob da mesma tabela. Como posso fazer isso apenas com instruções SQL? (Sem acesso ao sistema de arquivos, se possível.) mysql query 1 respostas Voted Best Answer Derek Downey 2012-02-02T08:41:41+08:002012-02-02T08:41:41+08:00 Mudança do pobre homem: mysql> CREATE TABLE `foo` ( `id` tinyint(4) NOT NULL AUTO_INCREMENT, `content` blob, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 mysql> INSERT INTO foo VALUES (NULL, 'bar'), (NULL, 'another_bar'); mysql> SELECT * FROM foo; +----+-------------+ | id | content | +----+-------------+ | 1 | bar | | 2 | another_bar | +----+-------------+ 2 rows in set mysql> SELECT content INTO @newContent FROM foo WHERE id=2; mysql> UPDATE foo SET content=@newContent WHERE id=1; mysql> SELECT * FROM foo; +----+-------------+ | id | content | +----+-------------+ | 1 | another_bar | | 2 | another_bar | +----+-------------+ 2 rows in set E agora fiz isso sem usar variáveis de sessão: UPDATE foo, (SELECT content AS selectContent FROM foo WHERE id=2)selectFoo SET content=selectContent WHERE id=1;
Mudança do pobre homem:
E agora fiz isso sem usar variáveis de sessão: