-2

MySQL 5.5.24 データベースにインポートするために、SQL を使用して次のテーブルを作成しました。

CREATE TABLE customers (
'custId'          INT NOT NULL AUTO_INCREMENT,
'custName'        NOT NULL  VARCHAR(80),
'custfirmName'    VARCHAR(80),
'custAddress'     NOT NULL VARCHAR(80),
'custAddress2'    VARCHAR(45),
'custCity'        NOT NULL VARCHAR(45),
'custState'       NOT NULL CHAR(2),
'custZip'         NOT NULL CHAR(10),
'custPhone'       NOT NULL VARCHAR(12),
'custEmail'       NOT NULL VARCHAR(45), 
'custWebsite'     VARCHAR(45),
PRIMARY KEY(custId)
);

2 つのリソースがあり、構文が正しいことを示していますが、customer テーブルにエラー メッセージが表示されます。

#1064 - SQL 構文にエラーがあります。''custId' INT NOT NULL AUTO_INCREMENT, 'custName' NOT NULL VARCHAR(80), 'c' at line 2 の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

私は何を間違っていますか?

4

3 に答える 3

1

NOT NULL引用符なしで、各フィールド宣言の最後に置いてみてください:

 CREATE TABLE customers
  (
     custid       INT NOT NULL auto_increment,
     custname     VARCHAR(80) NOT NULL,
     custfirmname VARCHAR(80),
     custaddress  VARCHAR(80) NOT NULL,
     custaddress2 VARCHAR(45),
     custcity     VARCHAR(45) NOT NULL,
     custstate    CHAR(2) NOT NULL,
     custzip      CHAR(10) NOT NULL,
     custphone    VARCHAR(12) NOT NULL,
     custemail    VARCHAR(45) NOT NULL,
     custwebsite  VARCHAR(45),
     PRIMARY KEY(custid)
  );

またはバッククォートを使用する (フィールド名にスペースを許可する) :

 CREATE TABLE customers
  (
    `custid`       INT NOT NULL auto_increment,
    `custname`     VARCHAR(80) NOT NULL,
    `custfirmname` VARCHAR(80),
    `custaddress`  VARCHAR(80) NOT NULL,
    `custaddress2` VARCHAR(45),
    `custcity`     VARCHAR(45) NOT NULL,
    `custstate`    CHAR(2) NOT NULL,
    `custzip`      CHAR(10) NOT NULL,
    `custphone`    VARCHAR(12) NOT NULL,
    `custemail`    VARCHAR(45) NOT NULL,
    `custwebsite`  VARCHAR(45),
    PRIMARY KEY(custid)
  );

フィドルを参照してください。

于 2013-05-20T13:50:41.767 に答える