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

AUTO_INCREMENT列からPRIMARYKEY制約を削除しようとするとどうなりますか?


AUTO_INCREMENT列にはPRIMARYKEY制約が必要です。したがって、AUTO_INCREMENT列からPRIMARY KEY制約を削除しようとすると、MySQLは誤ったテーブルに関するエラーメッセージを返します。意味。以下の例はそれを示しています-

次の説明を持つ「Accounts」テーブルがあるとします-

mysql> Describe accounts;

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| Sr     | int(10)     | NO   | PRI | NULL    | auto_increment |
| Name   | varchar(20) | YES  |     | NULL    |                |
| amount | int(15)     | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

3 rows in set (0.10 sec) 

AUTO_INCREMENTとPRIMARYKEYの定義を持つファイル「Sr」があります。ここで、この主キーを削除しようとすると、MySQLは次のようなエラーをスローします-

mysql> Alter table Accounts DROP PRIMARY KEY;
ERROR 1075 (42000): Incorrect table definition; there can be only one
   auto column and it must be defined as a key

  1. MySQLで主キーを削除するにはどうすればよいですか?

    主キーを削除するには、最初にALTERを使用してテーブルを変更します。それで、DROPを使用して以下のようにキーをドロップします 構文 alter table yourTableName drop primary key; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId int NOT NULL,    -> StudentName varchar(20),    -> StudentAge

  2. MySQLは列の値からランダムに2つの値を選択しますか?

    ランダムに選択するには、ORDER BY RAND()を使用します。 2つの値のみを選択するには、MySQLでLIMIT2を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1815      (      Question text      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa