J'ai une table avec des lignes comme ceci: Je voudrais modifier cela à: p> y a-t-il un Un moyen facile de faire cela? p> p>
3 Réponses :
First Ajouter une colonne Numéro à la table. p>
Ensuite, si toutes les entrées dans le pays.Number a un "". Délimètre du "US" et "#" Vous allez facilement aller chercher toutes les lignes de la table et itérale sur chaque rangée. p>
sur chaque ligne que vous pouvez utiliser exploser () fonction par exemple (d'autres existent) pour diviser le champ de pays en 2 pièces, «US» et «#», puis effectuez un insert. p>
Query: P>
UPDATE TABLE SET Number = SUBSTRING_INDEX('Country.Number', '.', -1),
Country.Number = SUBSTRING_INDEX('Country.Number', '.', 1);
Après avoir changé votre table Shema, vous pouvez utiliser cette requête pour le remplir avec des données:
INSERT INTO table_with_new_scheme (
SELECT
explode('.', Country.Number)[0] as CountryAbbreviation,
explode('.', Country.Number)[1] as Number,
Country
FROM table_with_old_schema)
Il n'y a pas de fonction exploser dans mysql?
Vous aurez besoin de vous assurer que vos colonnes ont des noms uniques, d'abord.
Est-ce que je suggère de quoi je suggère une meilleure approche que si je le laisse, comme cela est une question de fait comme comme "nous.%"?