0
import
オプションを使用してSQLテーブルとしてCSVファイルをインポートしました。これはPHPMyAdmin
です(これはわかりやすいためです)。ここで列名は "COL 1、COL 2、..."であり、目的の列名は表の最初の行です。MySQLテーブルの列名を最初の行に変更します
データベースのすべてのテーブルに対して、列名を最初の行の値に変更するにはどうすればよいですか?
Hereは、一度に1つの列名を変更する方法ですが、データベースの各テーブルに列名が多すぎますので、すべてのテーブルに一度に適用したいと思います。
これをやや簡単に行う方法はありますか? CSVファイルをインポートする際にこれを試して組み込む必要がありますか?
これを実行できるスクリプトを書くこともできますが、最も簡単で最良の方法は、データを再度インポートすることです。今回は、「ファイルの最初の行にテーブルの列名が含まれています。あなたのデータ型が間違っている可能性があります(おそらくvarcharカラムしか持たない(したい)ので) – Solarflare
@Solarflare私はそれを正確にやり遂げました。しかし、スクリプトを書くことが非常に難しいのだろうか? –
私はPHPスクリプトについて考えていると書いていましたが、 'show tables'を使ってテーブルを取得し、各テーブル' show columns from table'を使ってデータ型を取得し、テーブルの最初の行を取得して削除しますそれを時々識別するのは難しいかもしれません)、各列に対して 'alter table table change oldname newname datatype'を実行します。リンクのスクリプト版です(ただし、再インポートで可能だったデータ型は修正されません)。 SQLストアドプロシージャでは、information_schemaを使用することができ、カラムの時間がより長くなります(phpは1つのクエリを持つ配列内にあります)。 – Solarflare