2011-12-07 17 views
2

を実行しませんCREATE:私はこのエラーを取得私はこの文を実行しようとするとTABLEのSQL文が

CREATE TABLE 'score_table' 
(
    'name' text NOT NULL, 
    'email' text NOT NULL, 
    'company' text NOT NULL, 
    'score_total' bigint(11) NOT NULL, 
    'score_string' longtext NOT NULL, 
    'id' int(11) NOT NULL auto_increment, 
    'date' timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, 
    PRIMARY KEY ('id') 
) 
ENGINE=MYISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ; 

#1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near ''score_table' 
('name' text NOT NULL, 'email' text NOT NULL, 'company' text NOT N' at line 1 

を私が間違って何見当がつかない、すべてのヘルプは次のようになります非常に感謝!

+0

あなたはあなたの答えも持っています – Harsh

+1

十分な答えが与えられているので、私は言いたいことがあります。あなたは実際に引用符を使いすぎます。名前がキーワードの2倍にならない限り、それらを使用する必要はありません。参照:http://sql-info.de/mysql/examples/CREATE-TABLE-examples.html – stackr

+0

うわー!みなさん、ありがとうございました! Stack overflow is king;) – bbeckford

答えて

6

テーブル名とフィールド名はバッククォートの代わりに、単一引用符(またはすべての引用符なし)に置かれる必要があります。

CREATE TABLE `score_table`..... 
3

あなたはそのような単一引用符であなたのテーブル名を囲むべきではありません。

CREATE TABLE `score_table` (`name` text NOT NULL, `email` text NOT NULL, `company` text NOT NULL, `score_total` bigint(11) NOT NULL, `score_string` longtext NOT NULL, `id` int(11) NOT NULL auto_increment, `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`)) ENGINE=MYISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ; 
+0

これは動作しません。 – Flukey

+0

@フルート - 修正済み。 – Polynomial

3

使用のバッククォートではなく単一引用符:

あなたのSQL文は次のようになります言及した以前のテーブル名やフィールド名として

CREATE TABLE score_table ( 
    `name` text NOT NULL, 
    `email` text NOT NULL, 
    `company` text NOT NULL, 
    `score_total` bigint(11) NOT NULL, 
    `score_string` longtext NOT NULL, 
    `id` int(11) NOT NULL auto_increment, 
    `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`)) 
ENGINE= MyISAM DEFAULT CHARSET=latin1; 
2

は引用符であってはなりませんので、私はあなたを編集し、それらを避けますこれを試してみてください。マジッククォートを使用している場合は、マジッククォートも使用しないでください(現在のシナリオでマジッククォートを避けてください)。

CREATE TABLE score_table (name text NOT NULL, email text NOT NULL, company text NOT NULL, score_total bigint(11) NOT NULL, score_string longtext NOT NULL, id int(11) NOT NULL auto_increment, date timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (id)) ENGINE=MYISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ; 
関連する問題