主キーを追加または変更するMySQL SQL文操作

主キーを追加または変更するMySQL SQL文操作

テーブルフィールドを追加する

テーブルtable1を変更し、トランザクタvarchar(10)をNull以外で追加します。
テーブル table1 を変更し、ID int unsigned not Null auto_increment 主キーを追加します。

テーブルのフィールドタイプを変更し、空または空でないとして指定します。

テーブルテーブル名を変更します。フィールド名フィールド名フィールドタイプ[空でない値が許可されるかどうか]。

テーブル名を変更し、フィールド名とフィールド タイプを変更します [空でない値が許可されるかどうか]。

テーブル名を変更し、フィールド名とフィールド タイプを変更します [空でない値が許可されるかどうか]。

テーブルのフィールド名を変更し、空または空でないとして指定します。

テーブルを変更する テーブル名 フィールドを変更する 元の名前 フィールド 新しい名前 フィールドタイプ [空でない値が許可されるかどうか

フィールドを削除する

ALTER TABLE mytable DROP 列名;

一意のキーを追加する

ALTER TABLE `test2` ADD UNIQUE ( `userid`)

主キーを変更する

ALTER TABLE `test2` 主キーを削除し、主キー ( `id` ) を追加します。

インデックスの追加

テーブル `test2` を変更してインデックスを追加します ( `id` )
ALTER TABLE `category` MODIFY COLUMN `id` int(11) NOT NULL AUTO_INCREMENT FIRST 、ADD PRIMARY KEY (`id`);

主キーを変更するためのSQL文ブロックは次のとおりです。

メールボックス テーブルの新しいフィールド

存在する場合はプロシージャを削除してください。mailbox_column_update;
CREATE PROCEDURE mailbox_column_update() 開始
 -- 削除フラグ列を追加します IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='cbs' AND table_name='mailbox' AND COLUMN_NAME='delete_flag') THEN
   ALTER TABLE メールボックス ADD delete_flag int DEFAULT 2 NOT NULL;
 終了の場合;
 -- 新しい削除日列を追加します。IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='cbs' AND table_name='mailbox' AND COLUMN_NAME='delete_date') THEN
   ALTER TABLE メールボックス ADD delete_date int DEFAULT 0 NOT NULL;
 終了の場合;
 -- フィールド account_mail が存在する場合は、フィールドの長さを変更します IF EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='cbs' AND table_name='mailbox' AND COLUMN_NAME='email_account')
 それから
  テーブルmailboxを変更し、列email_account varchar(320)を変更します。
 終了の場合;
 -- 主キー列がない場合は、二重主キーを設定しますIF ((SELECT count(*) FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA ='cbs' AND table_name='mailbox' AND CONSTRAINT_NAME ='PRIMARY' AND (COLUMN_NAME ='email_account' OR COLUMN_NAME = 'company_id'))=0)THEN
    ALTER TABLE メールボックスに主キー (company_id,email_account) を追加します。
 -- 主キー列が1つしかない場合 ELSEIF ((SELECT count(*) FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA ='cbs' AND table_name='mailbox' AND CONSTRAINT_NAME ='PRIMARY' AND (COLUMN_NAME ='email_account' OR COLUMN_NAME = 'company_id'))<2) THEN
    ALTER TABLE mailbox DROP PRIMARY KEY、ADD 主キー (company_id,email_account);
 終了の場合;
  
終わり;
mailbox_column_update() を呼び出します。
存在する場合はプロシージャを削除してください。mailbox_column_update;

補足:mysqlは主キーを自動的に増加させるように変更し、結合主キーを追加します

ALTER TABLE `onduty_history`
MODIFY COLUMN `id` int(11) NOT NULL AUTO_INCREMENT FIRST ,
列 `name` varchar(50) を変更する 文字セット utf8 照合 utf8_general_ci は `id` の後に NULL ではありません。
列 `onduty_date` datetime を `name` の後に NULL 以外に変更します。
一意のキー (`id`) を追加します。
主キーを追加します (`name`、`onduty_date`);

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • MySQL の自動増分主キーに関する詳細な説明
  • Mysql 主キー UUID と自動増分主キーの違いと利点と欠点
  • MySQL主キー命名戦略関連
  • MySQL の自動増分主キーが使い果たされた場合の対処方法
  • MySQL の自動増分 ID (主キー) が不足した場合の解決策
  • MySQL が uuid または snowflake id を主キーとして使用することを推奨しない理由の詳細な分析
  • MySQL テーブルにおける非主キー列オーバーフロー監視の詳細な説明
  • Prometheus を使用して、MySQL の自動増分主キーの残りの使用可能パーセンテージをカウントします。

<<:  ウェブページを作る前に、これらのいわゆる仕様を見てみましょう

>>:  nginxを使用して画像サイズを動的に変換し、サムネイルを生成します。

推薦する

jsはシンプルな英語-中国語辞書を実装します

この記事では、参考までに、簡単な英中辞典を実装するためのjsの具体的なコードを紹介します。具体的な内...

MySQL無料インストール版を解凍した後にパスワードが見つからない問題を解決する方法

1. mysql-8.0.21-winx64を解凍する2. 環境変数を設定し、アドレスをbinフォル...

MySQLプリコンパイル機能の詳細な説明

この記事では、MySQLのプリコンパイル機能について紹介します。具体的な内容は以下のとおりです。 1...

HTML タグのメタ概要、HTML5 のヘッド メタ属性の概要

序文metaはhtml言語のhead領域にある補助タグです。おそらく、これらのコードは不要だと思うで...

React+TypeScriptプロジェクト構築事例解説

React プロジェクトの構築は非常に簡単ですが、Typescript と組み合わせると、実際にはそ...

モバイルプラットフォーム開発におけるメタタグの適用の詳細な説明

デスクトップ プラットフォームの Web レイアウトのメタ タグは誰もがよく知っています。これは常に...

Linux環境にMySQLデータベースをインストールする詳細なチュートリアル

1. データベースをインストールする1) yum -y install mysql-server (...

MySQLは既存のコンテンツを保持し、後でコンテンツを追加します

このコマンドは、データ テーブル ff_vod を変更し、vod_url フィールドの内容の後に 9...

ウェブデザイン必携ハンドブック 216 ウェブセーフカラー

Web ページ上の色の表現は、さまざまな要因によって影響を受けます。Web ページで非常に美しい配色...

Vue を使用してパブリック アカウントの Web ページを開発する方法

目次プロジェクトの背景始めるvue-cliでプロジェクトを作成するモバイル適応についてnormali...

Vueプロジェクトがグラフィック検証コードを実装

この記事の例では、グラフィック検証コードを実装するためのVueプロジェクトの具体的なコードを参考まで...

Linux のインスタンスにパブリック IP アドレスを割り当てる方法

説明するこのインターフェースを呼び出すときは、次の点に注意する必要があります。パブリック IP アド...

HTML フォーム送信アクションと URL ジャンプアクションの違い

フォームのアクションは URL ジャンプとは異なります。フォームはバックグラウンドにデータを渡すこと...

iframe が HTML 内のページにジャンプするのを防ぎ、iframe を使用して WeChat Web バージョンをページに埋め込む方法

私は、WinForm と HTML5 を組み合わせた小さなものを作りたいだけなのですが、突然、そこに...

Web面接におけるJS事前解析と変数プロモーションの違い

目次事前分析とは何ですか?変数と関数の準備の違いvar 変数の繰り返し宣言変数と関数の昇格の優先順位...