ホームページ  >  記事  >  データベース  >  mysqlで行の値を一意に設定するにはどうすればよいですか?

mysqlで行の値を一意に設定するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-10-22 09:39:423113ブラウズ

mysql は行 (フィールド) に一意制約を追加することで行の値を一意になるように設定できます。構文形式は「CREATE TABLE テーブル名 (フィールド名データ型 UNIQUE);」および「ALTER TABLE テーブル名」です。 ADD CONSTRAINT 一意の制約名 UNIQUE (列名);"。

mysqlで行の値を一意に設定するにはどうすればよいですか?

(推奨チュートリアル: mysql ビデオ チュートリアル )

MySQL データベースの一意性の設定一意のインデックス

データベース設計では、主キーを設定するフィールドは繰り返しがなく一意ですが、他にも一意である必要があるフィールドがある場合は、どのように設定すればよいでしょうか?たとえば、ユーザー情報を格納するテーブルでは、各レコードの携帯電話番号が異なることを確認する必要があります。このとき、このフィールドの一意性を設定する必要があります。
フィールドの一意性を設定した後は、フィールドが同じ値を持たないことがデータベース レベルで保証されます。一意性を設定する方法について説明します:

mysql コマンド ライン操作インデックス

1. テーブルの作成時に

CREATE TABLE `member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(18) NOT NULL ,
`phone` varchar(18) NOT NULL unique,
PRIMARY KEY (`id`)  
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

を追加します 2. テーブルの作成後に

alter table member add unique(phone);
# を変更しますtable ##Navicat ツールを使用してインデックスを追加する

mysql データベースを操作するには、navicat を使用する方が便利です。誰もがこの方法を使用することをお勧めします。

テーブルを設計するとき: 次のようにインデックスを選択します。図、最初の項目「名前」は自分で決めることができます。意味のある名前で十分です。 2 番目の項目は一意性を設定するフィールドで、インデックス タイプとして一意を選択します。

#変更するテーブル名を選択し、右クリックして設計テーブルを選択します

mysqlで行の値を一意に設定するにはどうすればよいですか?#よく発生する問題

一意性が後で追加される場合 (テーブルが設計され、テーブルに既にデータが存在した後) mysqlで行の値を一意に設定するにはどうすればよいですか? テーブル内の一部のデータが一意性を満たさない状況が発生する可能性があります。例: フィールド電話を追加したい場合 一意性を設定しますが、現在テーブルには 2 つのデータ電話があり、どちらも同じ携帯電話番号を持っています。これは一意性を設定する際のエラーです。
上の図に示すように (この状況はコマンドライン操作でも発生しますが、テキスト形式で)
このとき、重複データを削除してから一意性を設定する必要があります。

2 つ以上のフィールドを組み合わせて一意のインデックスを形成します

例: ユーザーは自分の名前と携帯電話番号を保存しました。

1 つのフィールドに対応できる携帯電話番号は 1 つだけです。つまり、名前と電話番号の組み合わせを繰り返すことはできず、同じ名前と電話番号を持つ 2 つのレコードが存在することはできません。

mysql で設定する方法? ここでは navicat での方法のみを示します: 図に示すように、2 つのフィールドを選択するだけです。

以上がmysqlで行の値を一意に設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。