Quelle requête SQL pour faire une simple recherche et remplacement
-
-
Si vousn'êtespasfamilier avec les requêtes,essayez leplugin Search and Replace,http://wordpress.org/extend/plugins/search-and-replace/If you're not familiar with queries try the Search and Replace plugin, http://wordpress.org/extend/plugins/search-and-replace/
- 0
- 2011-01-26
- t31os
-
Pourquoine pas utiliser lafonctionnalité WordPresspourmettre àjour l'URL? http://codex.wordpress.org/Moving_WordPress détailletoutWhy not use WordPress functionality to update the URL? http://codex.wordpress.org/Moving_WordPress details everything
- 0
- 2014-11-18
- Alex Older
-
Ilexiste unpluginpour cela.Ilpermet une utilisation confortable dubackendet remplace également l'URL dans lepost-contenuet certains autres champs,si vous le souhaitez: https://wordpress.org/plugins/better-search-replace/There is a plugin for this. It allows comfortable use of the backend and also replaces the URL in the post-content and some other fields, if you want to: https://wordpress.org/plugins/better-search-replace/
- 0
- 2015-07-23
- simonthesorcerer
-
7 réponses
- votes
-
- 2011-01-25
Latable dans laquelle votre URLestenregistréeest wp_options.Vous devriezfaire unemise àjour sur les colonnes qui utilisent l'URL de votre site:
UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "siteurl" UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "home"
Ilme manquepeut-être une valeur,mais chaquefois que vous refaites ceprocessus de recherche/remplacement,vouspouvez remarquer les valeurset lestables qui doivent êtremises àjouret les ajouter à ce script.
WordPress Codex a unbonguide sur lafaçon de changer l'URL d'un site,peut-être que c'estencorepluspratiquepour vous: Changer l'URL du site
The table where your URL is saved is wp_options. You should do an update on the columns that use the URL for your site:
UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "siteurl" UPDATE TABLE wp_options SET option_value = "new domain" WHERE option_name = "home"
I might be missing some value, but whenever you do this find/replace process again, you can notice the values and tables that should be updated and add them to this script.
WordPress Codex has a nice guide on how to change a site URL, maybe that's even handier for you: Changing the Site URL
-
n'y a-t-ilpas unmoyen defaire une recherche/remplacement surtoute labase de données?En d'autrestermes ...j'ai remarquéparexemple queje devais remplacer les URL dans untas d'emplacements différents,y compris lamédiathèque .... S'il y avait une recherche/remplacementpourtoute labase de donnéesessentiellementpour chaque champ,cela résoudraitleproblème.Merci de votre aideis there not a way to do a find/replace on the entire database? In other words... I noticed for example that I need to replace the URLs in a bunch of different locations including the media library.... If there was a find/replace for the entire database essentially for every field then this would solve the problem. Thanks for your help
- 1
- 2011-01-25
- NetConstructor.com
-
Découvrez cenouveau lien quej'ai ajouté à la réponse.Jepense que ce serait la voie à suivre.Check out that new link I added on the answer. I think that would be the way to go.
- 0
- 2011-01-25
- Fernando Briano
-
Celane fonctionnerapaspour les données sérialisées.Celapourrait complètement casser une configuration dethème.This will not work for serialized data. It might completely break some theme configuration.
- 2
- 2017-10-17
- Christian Lescuyer
-
- 2011-01-25
Lemieuxest defaire des options,desmessages,du contenuet desméta:
UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');
Voir également Recherche de données à l'aide dephpMyAdminet MySQL| Packt Publishing. Et Search RegEx est unbonplugin WPpourpouvoirpour rechercheret remplacerpar Grep danstous les articleset pages.
Voir outil de remplacement de recherche PHP sérialisé WordPressinterconnectit.com. De cettefaçon,vousne coupezpas les données sérialiséeset vousn'aurezpasbesoin d'exécuter RegEx sur le contenu de lapublication,car le script d'interconnexion change les URLpartout. J'utilise cet outiltout letempspourmigrer des sites vers différents domaines,oupour simplementfaire un changementglobal de http à httpspourforcer SSL sanspluginset changertoutes les URL dans le contenupour éviter leserreurs d'élémentsnon sécurisés.
Best to do options, posts, post content and post meta:
UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');
Also see Searching Data using phpMyAdmin and MySQL | Packt Publishing. And Search RegEx is a good WP plugin to be able to search and replace with Grep through all posts and pages.
Update 6/16/2015: Using the tool linked in the next sentence is much better, as a simple find/replace as above in a database dump will break serialized data. See interconnectit.com WordPress Serialized PHP Search Replace Tool. This way, you don't break serialized data and won't need to run RegEx on post content, as the interconnect script changes URLs everywhere. I use that tool all the time to migrate sites to different domains, or to simply do a global change from http to https to force SSL without plugins and change all URLs in content to prevent insecure element errors.
-
Ne changezjamais leguid -même si vous vous rendez dans unnouveau domaine.Ilest utilisépouridentifier demanière unique lapublication car l'IDpeut changer si lespublications sontexportées/importées dans unenouvellebase de données.D'unepart,les lecteurs RSS utiliseront le GUIDpour dire si un articleparticulier a été lu ounon.Changer le GUID republieraefficacementtous vos articles.Don't ever change the guid - even if going to a new domain. It's used to uniquely ID the post as the ID can change if the posts are being exported/imported into a new database. For one thing, RSS readers will use the GUID to tell if a particular article has been read or not. Changing the guid will effectively republish all your articles.
- 2
- 2012-06-16
- Taylor Dewey
-
@taylordewey a dit: "Ne changezjamais leguid ..." Des ordures.@taylordewey said: "Don't ever change the guid..." Rubbish.
- 0
- 2012-06-17
- markratledge
-
@songdogtech Voulez-vousexpliquer *pourquoi * ce sont des ordures?@songdogtech Care to explain *why* it is rubbish?
- 1
- 2013-03-06
- shea
-
Si vous changez de domaine,vousn'aveztout simplementpas le choixet devez changer les GUID.Fallout des lecteurs RSSest unprixminime àpayer.If you're changing domains, you simply don't have a choice and have to change GUIDs. Fallout from RSS readers is a minimal price to pay.
- 0
- 2015-11-06
- markratledge
-
Pourquoi un _have_ changerait le GUID?Why would one _have_ to change the GUID?
- 1
- 2016-08-11
- kaiser
-
Bien que les GUID contiennent une URL,ilsne sontpas utiliséspour créer des liens (parexemple dans lesmenus) lors du référencement des articles.Et donc _pas_ les changerestparfaitement acceptableDespite GUID's containing a url, they aren't used to create links (for example in menu's) when referencing posts. And so _not_ changing them is perfectly acceptable
- 0
- 2017-05-27
- Chris
-
Celane fonctionnerapaspour les données sérialisées.Celapourrait complètement casser une configuration dethème.Eneffet,utilisez un outiltel que Interconnect/IT.This will not work for serialized data. It might completely break some theme configuration. Indeed use a tool such as Interconnect/IT’s.
- 1
- 2017-10-17
- Christian Lescuyer
-
- 2011-08-02
C'est unexcellent script drop-in quej'utiliseet ilfonctionne àmerveille avec lestableaux sérialisés que WP utilisepour stocker les options.Assurez-vous simplement de le supprimer de votre serveur distant lorsque vous avezterminé car c'est un énorme risque de sécurité.
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
This is a great drop-in script that I use and it works beautifully with the serialized arrays that WP uses to store options. Just make sure to delete it from your remote server when you're done because it's a HUGE security risk.
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
-
Jene saispaspourquoij'ai été -1'd.Ce scriptestbien meilleur qu'uneinstruction SQL.Commentaires s'il vousplaît?I don't know why I was -1'd. This script is much better than a SQL statement. Feedback please?
- 2
- 2011-08-03
- lancemonotone
-
un outil que lesgens quine connaissentpas sqlpeuvent utiliser,dérange ceux qui écriventen sqla tool that people who dont know sql can use, is upsetting to those who write in sql
- 1
- 2013-06-23
- Jon
-
- 2016-04-27
Pour cela,j'utilise WP-CLI carje trouve que c'est leplus simpleetprenden charge les données sérialisées.
wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid
Ilexiste également une option qui écrit vosmodifications dans unfichier SQL au lieu demanipuler labase de données réelle:
wp search-replace foo bar --export=database.sql
For this I use WP-CLI because I find it the easiest and it takes care of serialized data.
wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid
There is also an option that writes your changes into an SQL file instead of manipulating the actual database:
wp search-replace foo bar --export=database.sql
-
de loin la solution laplus robusteet laplus rapide.wp-cli sauve lajournée unefois deplusby far the most robust and fastest solution. wp-cli saves the day once again
- 1
- 2018-06-19
- ryanrain
-
- 2011-01-25
vousn'êtespas obligé defaire cela,vouspouvez utiliser des chemins relatifs.
lorsque vous liez quelque chose au lieu de subdomain.soemthing.com/image.jpg - utilisez/image.jpgparexemple
De cettemanière,vousne serezpas confronté auproblèmeen premier lieu.
sinonpour uneinstruction demise àjourmysql,vouspouvez utiliser
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);
you do not have to do this , you can use relative paths.
when you are linking something instead of subdomain.soemthing.com/image.jpg - use /image.jpg for example
like this you won't face the problem in the first place.
otherwise for a mysql update statement you can use
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);
-
Merci ... ouais,je ferai ça laprochainefois.L'instruction SQLtrouve-t-elle un remplacement surtoute labase de données (y compristoutes lestables)?Thanks... yeah I will do that next time. The SQL statement does a find replacement on the entire database (including all tables)?
- 0
- 2011-01-25
- NetConstructor.com
-
@ NetConstructor.com L'instruction SQL quemireille vous a donnée ci-dessusest la commande MySQLgénériquepour remplacer une chaîne dans un champ spécifique dans unetable spécifique.Si vousessayez d'exécuter cetteinstructionexactement commeelle a été écrite,celane fonctionnerapas.Pour que cette commandefonctionne,vous devez remplacer TABLE_NAMEet FIELD_NAMEpar un champet unetable réels utiliséspar WordPress.@NetConstructor.com The SQL statement mireille gave you above is the generic MySQL command for replacing a string in a specific field in a specific table. If you tried running this statement exactly as it was written, it wouldn't work. For this command to work, you'd need to change the TABLE_NAME & FIELD_NAME to a real field and table used by WordPress.
- 0
- 2011-01-26
- Manzabar
-
Notez également quemême si vous souhaitez utiliser des chemins relatifs,denombreusesparties de wordpress onttendance àinsérer automatiquement des chemins complets.Pour vraimentfairefonctionner cela,unplugin comme: https://wordpress.org/plugins/root-relative-urls/esttrès,très utileNote also that even if you desire to use relative paths, lots of parts of wordpress tend to auto-insert full paths. To really get this working a plugin like: https://wordpress.org/plugins/root-relative-urls/ is very, very helpful
- 0
- 2014-09-15
- benz001
-
- 2011-11-24
Pour changer le domaine wordpress,ce dontnous avons souventbesoin,peut être defaire vivre le site àpartir de localhost: Voici une liste complète des requêtes demise àjour:
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_url = replace(link_url, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_image = replace(link_image, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_usermeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); /*UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl' OR option_name = 'widget_text' OR option_name = 'dashboard_widget_options';*/ UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com');
- Nous devons également ajouter d'autrestables quine sontpaspar défaut avec WP sinécessaire.
MISE À JOUR: Rechercher Remplacer DB La version 3.1.0est un outilfrontal convivialpour les développeurs,qui vouspermet d'effectuer des actions de recherche/remplacement à l'échelle de labase de données,sansendommager les chaînes ou objets PHP sérialisés.
To change the wordpress domain what we often need, may be to make the site live from localhost: This is a complete list of update queries:
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_url = replace(link_url, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_links SET link_image = replace(link_image, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_usermeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); /*UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl' OR option_name = 'widget_text' OR option_name = 'dashboard_widget_options';*/ UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com');
- We have to also add other tables which are not default with WP if necessary.
UPDATE: Search Replace DB version 3.1.0 is a user-friendly, front-end tool for developers, that allows you to carry out database wide search/replace actions, that don't damage PHP serialized strings or objects.
-
Celane fonctionnerapaspour les données sérialisées.Celapourrait complètement casser la configuration duthème.This will not work for serialized data. It might completely break theme configuration.
- 2
- 2017-10-17
- Christian Lescuyer
-
- 2015-05-06
Enfait,vousn'avezpasbesoin d'utiliser une requête SQLjuste quelques ajustements dans lesfichiers wp_configet functions.php de votrethème.Consultez cette rubrique dans Wordpress Codex: https://codex.wordpress.org/Changing_The_Site_URL
Actually, you don't have to use a SQL query just some adjustments in wp_config and functions.php file in your theme. Check out this topic in Wordpress Codex: https://codex.wordpress.org/Changing_The_Site_URL
-
Cen'estpas correct.WordPress stockemalheureusement certaines URL dans labase de données sousforme detexte.This isn't correct. WordPress unfortunately stores some URL in the database as text.
- 1
- 2015-09-30
- s_ha_dum
Chaquefois queje crée unnouveau site Web,je crée d'abord un site depréparation sur un sous-domainetel que "stage.domain-name.com".
Après quetoutfonctionne correctement,j'exporte labase de données,l'ouvre dansnotepad ++et fais une recherche/remplacementpour "sous-domaine.nom-domaine.com"et le remplacepar "nom-domaine.com" ...enfin je l'importedans unenouvellebase de donnéespour le siteen direct.
Ma questionest ... quelle requête SQL aurais-jebesoin d'exécuter sije voulaisjustefaire cette simple recherche/remplacement surtoute labase de donnéesen utilisantphpmyadmin?
-CH