MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでデータベーススキーマの変更を追跡する方法は?


単一のデータベースを持つプロジェクトにテーブルが存在する場合は常に、スキーマバージョンまたは移行を使用してデータベーススキーマの変更を行うことができます。データベーススキーマの変更または構造の変更を追跡することを目的としています。

スキーマの変更を追跡するためのテーブルの作成。

mysql> create table SchemaDatabaseMethodDemo
   -> (
   -> `WhenTime` timestamp not null default CURRENT_TIMESTAMP,
   -> `TheKey` varchar(200) not null,
   -> `Version` varchar(200),
   -> primary key(`TheKey`)
   -> )ENGINE=InnoDB;
Query OK, 0 rows affected (0.45 sec)

テーブルにレコードを挿入します。

mysql> insert into SchemaDatabaseMethodDemo values(now(),'1001','version 5.6.12');
Query OK, 1 row affected (0.17 sec)

レコードを表示するには。

mysql> select *from SchemaDatabaseMethodDemo;

以下は出力です。

+---------------------+--------+----------------+
| WhenTime            | TheKey | Version        |
+---------------------+--------+----------------+
| 2018-10-29 14:21:47 | 1001   | version 5.6.12 |
+---------------------+--------+----------------+
1 row in set (0.00 sec)

− SQLスクリプトまたは移行を実行している場合、スクリプトの最初または最後にINSERTステートメントを使用して、上記のテーブルにも行を追加する必要があります。


  1. 現在のトランザクションで行われた変更をMySQLデータベースに永続的に記録するにはどうすればよいですか?

    COMMITコマンドを使用して、現在のトランザクションで行われた変更をMySQLデータベースに永続的に記録することができます。いくつかのDMLステートメントを実行し、それがいくつかのデータオブジェクトを更新すると、COMMITコマンドはこれらの更新をデータベースに永続的に記録するとします。 例 mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO Marks Values(1, 'Aarav','Maths',50); Query OK,

  2. MySQLエラー-#1046-データベースが選択されていません

    エラー-#1046は、テーブルを作成しているときに発生する可能性がありますが、データベースを選択するのを忘れています。以下に示すようにMySQLを開始したとしましょう- 正しいパスワードを入力すると、上記のウィンドウが開きます。次に、データベースを選択せず​​にテーブルを作成します。これはエラーを表示します- mysql> CREATE table TblUni -> ( -> id int, -> Name varchar(100) -> ); エラー1046(3D000):データベースが選択されていません 次のスクリーンショットは同じエラーを示して