1

データベーステーブルにAUTO_INCREMENT列を作成したいのですが、次の構文を記述します。

create table comments
(
     name varchar(20),
     mail varchar(30),
     comment varchar(100),
     com_no int auto_increment
);

そして、私は次のエラーを受け取ります:

エラー1075(42000):テーブル定義が正しくありません。自動列は1つしか存在できず、キーとして定義する必要があります

それから私はそれを主キーとして作りました:

create table comments
(
    name varchar(20),
    mail varchar(30),
    comment varchar(100),
    com_no int primary_key auto_increment
);

そして、私は次のエラーを受け取ります:

エラー1064(42000):SQL構文にエラーがあります。'primary_key auto_increment、name varchar(20)、mail varchar(30)、comment varchar(100'の1行目で使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

なにが問題ですか???

4

6 に答える 6

5

アンダースコアはありPRIMARY KEYません。

create table comments
(
    name varchar(20),
    mail varchar(30),
    comment varchar(100),
    com_no int primary key auto_increment
);

また

create table comments
(
    name varchar(20),
    mail varchar(30),
    comment varchar(100),
    com_no int auto_increment,
    primary key(`com_no`)
);
于 2010-10-16T13:34:37.747 に答える
2
 create table comments(
    name varchar(20), 
    mail varchar(30),
    comment varchar(100),
    com_no int auto_increment,
    PRIMARY KEY (com_no)
  );

(オンラインMySQLマニュアルによる)。

于 2010-10-16T13:35:37.650 に答える
2
create table comments
(
    name varchar(20),
    mail varchar(30),
    comment varchar(100),
    com_no int NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (com_no)
);

ref

于 2010-10-16T13:36:52.970 に答える
2

primary keyの代わりに使用primary_key

于 2010-10-16T13:37:05.790 に答える
1

適切な構文は次のようになります。例:

CREATE TABLE `admin` (
    `id` INT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
    `userid` VARCHAR(50) NULL DEFAULT '0',
    `pwd` VARCHAR(50) NULL DEFAULT NULL,
    PRIMARY KEY (`id`)
)
于 2010-10-16T13:35:57.950 に答える
1

MySQLでは、自動インクリメント列(一般にID列と呼ばれます)は1つしか存在できず、一意キーとしても定義する必要があります。例えば:

create table comments
(
  com_no int NOT NULL AUTO_INCREMENT,
  name varchar(20),
  mail varchar(30),
  comment varchar(100),
  PRIMARY KEY (com_no)
);

詳細については、MySQLの自動インクリメントのドキュメントを参照してください。

于 2010-10-16T13:38:04.853 に答える