8

この SQL の何が問題なのですか? -> ); エラー 1075 (42000): テーブル定義が正しくありません。自動列は 1 つしか存在できません

SQL

CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT,

NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200)

);

私はmysqlを使用していますが、どうすればこれを解決できますか。テーブルを作成しようとしています。そして、私はこのエラーが発生します

4

3 に答える 3

9

AUTO_INCREMENT列をPRIMARY KEYtryとして指定する必要があります。

CREATE TABLE TABLENAME12
(
 TAB_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 NAME_FIRST NVARCHAR(200),
 TYPE NVARCHAR(200)
);
于 2012-07-24T12:55:03.413 に答える
7

エラーが言うように。

"Incorrect table definition; there can be only one auto column and it must be 
defined as a key" 

http://sqlfiddle.com/#!2/7e064

auto_increment 列に主キーを追加します。

CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT,
NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200),
PRIMARY KEY (TAB_ID)
);
于 2012-07-24T12:59:14.537 に答える
6

得られるシミュレート結果

CREATE TABLE TABLENAME12
(
  TAB_ID INT NOT NULL AUTO_INCREMENT,
  NAME_FIRST NVARCHAR(200),
  TYPE NVARCHAR(200),
  PRIMARY KEY( TAB_ID )
);

これは、タイプ定義 int と nvarchar を除いて、mysql などの他のデータベースでも使用できます。代わりに varchar と integer を使用すると、postgresql と互換性があります。

于 2012-07-24T13:04:44.537 に答える