0
No   Name     Sex
1      A       M
2      B       F
3      C       F
4      D       M

mysqlデータベースでテーブルの自動番号を取得したい。では、どうやってそれを行うのですか?

4

4 に答える 4

3

主キーと自動インクリメントでテーブルを作成しました

http://dev.mysql.com/doc/refman/5.0/en///example-auto-increment.html

以下のコードを参照してください。

CREATE TABLE Persons
(
id int NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
sex char(1),
PRIMARY KEY (id)
)
于 2012-12-26T04:12:48.203 に答える
2

その方法はいろいろありますが、

1 つの手法は、テーブルを変更することです。

  • 他の机
  • 新しい列を追加
  • として設定しますAUTO_INCREMENT

もう1つは、セッション変数を使用することです

SELECT @rank := @rank+1 As `No`,
       Name, 
       Sex
FROM   table1, (SELECT @rank := 0) r
于 2012-12-26T04:12:52.910 に答える
1

自動番号付けは、自動的にインクリメントしたい数値列にauto_increment属性を指定することによって行われます。テーブルを作成するときに「id」列で指定し、各 id で行を一意に識別することをお勧めします (主キーとも呼ばれます)。

CREATE TABLE people (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  sex ENUM('m', 'f'),
  PRIMARY KEY (id)
) ENGINE=MyISAM;

または、テーブルが存在する後に ID (自動インクリメント) を追加することもできます。

于 2012-12-26T04:22:52.520 に答える
0

それを自動的に行うテーブルを作成したい場合は、大まかに次のように使用できます...

create table mytable (
    `No` serial,
    /* other fields... */);

http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html

SERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE

ただし、行を削除すると、行番号にギャップが生じます。auto_increment フィールドをリセットしたい場合は、

alter table mytable
auto_increment = 1;
于 2012-12-26T04:15:20.520 に答える