MariaDB AUTO_INCREMENT定義

AUTO_INCREMENT FIRST

MariaDBは、テーブルのカラム内に自動連番(インクリメント)をもたせることができます。自動連番を使うことでLOGなどのデータをユニークなレコードとして扱うこともできるようになります。下のようなシンプルな構成TABLE1テーブルがあります。

CREATE TABLE TABLE1 (
	renban INTEGER
)

このTABLE1を自動連番対応にするには、下記のような記述をすれば可能です。

CREATE TABLE TABLE1 (
	renban INTEGER NOT NULL AUTO_INCREMENT,
	UNIQUE KEY renban (renban)
) 

TABLE1テーブルのrenbanカラムにAUTO_INCREMENTを設定できます。renbanカラムには「UNIQUE KEY」を設定しています。「PRIMARY KEY」主キーの場合は下記のような記述になります。

CREATE TABLE TABLE1 (
	renban INTEGER NOT NULL AUTO_INCREMENT,
	PRIMARY KEY (renban)
)

このTABLE1テーブルのrenbanカラムがユニークになっていない場合下記のようなメッセージが表示されます。

Incorrect table definition; there can be only one auto column and it must be defined as a key

自動連番(AUTO_INCREMENT)はテーブル設定した後に設定することもできます

CREATE TABLE TABLE1 (
 	renban INTEGER 
);

ALTER TABLE TABLE1
	CHANGE COLUMN renban renban INTEGER NULL AUTO_INCREMENT FIRST,
	ADD UNIQUE INDEX renban (renban);

SHOW CREATE TABLE TABLE1」コマンドでテーブル内の変更した内容を確認すると下記のようにALTER TABLEが反映されていました。

AUTO_INCREMENT FIRST
AUTO_INCREMENT FIRST

このTABLE1テーブルはrenbanというカラムが一つだけあるのでレコードの追加(インサート)する場合下記のように省略されたインサート文が書けます。

INSERT INTO TABLE1 VALUES()

【SQL Server】 肥大化した.ldfファイルを削除

SQL Serverデータベースを新規作成すると、標準設定では復旧モデルが「完全」になっています。
復旧モデルが「完全」の場合、.ldfファイルにログが貯まる仕組みです。 重要なデータで復旧が必要な場合この.ldfファイルは重要ですが、 消えても問題無いデータの場合、データベースの復旧モデルは「単純」に設定すると.ldfファイルは溜まりません

Microsoft SQL Server Management Studioから設定する場合で試してみました。

変更方法はデータベースを選択し右クリック後[プロパティ]でダイアログが表示されます。
[オプション|復旧モデル]にコンボボックスがあるので、「単純」に変更します。

ここで「単純」に変更し再起動してもldfファイルサイズの変化はありません。
データベースの圧縮が必要です。 データベースプロパティ変更したときのように、データベースを選択し右クリックし次は、[タスク|圧縮|ファイル]を選択します。

[ファイルの圧縮]という名称のダイアログが表示されます。 ダイアログ中央右の[ファイルの種類]「ログ」に変更し、すこし下の[圧縮のアクション|未使用領域の開放前にページの再構成をする]ラジオボタン選択します。
[圧縮先のファイル]サイズを少なく指定しましょう(「2MByte」など)

最後に[OK]ボタンでファイルの圧縮が実行されます。

さいごに

この手順は、Microsoft SQL Server Standard (64-bit) 12.0.4232.0で試しました。

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED