2016-05-06 9 views
2

私はいくつかの非常に基本的なMySQLコードに苦労しています。この超簡単なコードは、良い例です。非常に基本的なMySQLコードが動作しない

CREATE TEMPORARY TABLE temp_table (count int); 
INSERT INTO temp_table VALUES((1),(2),(3)); 
SELECT * FROM temp_table; 

これが返されます。

11 errors were found during analysis. 

A comma or a closing bracket was expected (near "1" at position 31) 
Unexpected token. (near ")" at position 32) 
Unexpected token. (near "," at position 33) 
Unexpected token. (near "(" at position 34) 
Unexpected token. (near "2" at position 35) 
Unexpected token. (near ")" at position 36) 
Unexpected token. (near "," at position 37) 
Unexpected token. (near "(" at position 38) 
Unexpected token. (near "3" at position 39) 
Unexpected token. (near ")" at position 40) 
Unexpected token. (near ")" at position 41) 

私だけINSERT INTO temp_table VALUES(1);をすればそれはうまく動作しますが、括弧を使用して私と一緒に問題を取るように見えるので、私はできます」複数の値を挿入しているようです。

私はINSERT INTO temp_table VALUES(1,2,3);をすればそれは#1136 - Column count doesn't match value count at row 1

を返し、私はStackOverflowのを含め、さまざまなソースで見つけることだ様々なMySQLのコード例で何度も何度もこのような問題に実行していますよ。だから私は何が欠けているのか分からない。

私のホストのコントロールパネルでは、私がMariaDB 5.3を実行していることがわかり、phpMyAdmin(4.5.2)で、私はMySQL 5.7.9を実行していることがわかります。

まだ、私はMariaDB's websiteから直接来るコードを実行する問題にぶつかります。

私を(穏やかに)気にしてくれませんか?私はこれが基本的でなければならないと確信しており、私は学びたいと思っています。私はちょうど問題が何であるか分かりません。私がこれらの基本を学ぶまで、私はただの車輪を回転させるつもりです。一緒に@scaisEdgeノート、あなたが複数の値を挿入クエリを書くとき、あなたはグループできないすべての値にエラボレーション

+0

phpMyAdminの古いバージョンには、ここで不適切な警告やエラーを表示しているlinterとparserに問題があります。あなたのコードはまだ他の場所で説明されているようにフィックスアップが必要ですが、パーサーの問題を修正するにはphpMyAdminをアップグレードする必要があります。 –

答えて

4

削除ラッピング()

CREATE TEMPORARY TABLE temp_table (count int); 
INSERT INTO temp_table VALUES(1),(2),(3); 
SELECT * FROM temp_table; 
+0

ありがとうございます。この例では知っておくと便利です。私は何を投げかけているのかは、phpmyadminがエディタにエラーを表示していることですが、コードを実行するとうまくいきます。本当に問題がなければ、なぜそれはエラーを表示していますか?とても役に立たないようです。 もう1つの例は 'CREATE TEMPORARY TABLE test2 SELECT * FROM test;'です。 phpmyadminでは、 'select'の下に赤色で下線が引かれ、 'Opening Bracket was expected'と文句を言いますが、コードを実行するとうまくいきます。 – Tim

+0

あなたが提供したコードはすべてのIDEでエラーを生成します。私はToadを使用して(他の条件でも)errrorを発生させます).. myphpadminのide処理が間違った構文解析を行う可能性があります.. – scaisEdge

+0

先日、しかし、私はそれで多くの使用を見ていない。 phpMyadminのエディタよりも役立つなら、私はそれを再インストールして、もう一度やり直す必要があります。ヘッドアップをありがとう! – Tim

1

//Wrong 
INSERT INTO temp_table values ((val1),(val2),(val3)); 

あなたが代わりに次の操作を行う必要があります。

//Right 
INSERT INTO temp_table values (val1), (val2), (val3); 

は、したがって、あなたのクエリは次のようになります。これは説明

INSERT INTO temp_table VALUES(1),(2),(3); 

希望は、お楽しみください!

+0

説明をありがとうございます。何が私をスローするのかという理由は、いくつかのMySQLコードが(この例が出てきた人のように)働く理由です:http://www.databasejournal.com/features/mysql/article。php/3844811/Make-Your-MySQL-Queries-More-Efficient-Temporary-Tables.htmを参照してください。私はそれがあなたが実行しているMySQLのバージョンに関連していると仮定していますが、私はさまざまな微妙な違いをすべて知る方法がわかりません。試行錯誤? – Tim

+0

@Tim、リンクhttp://www.databasejournal.com/features/mysql/article.php/3844811/Make-Your-MySQL-Queries-More-Efficient-with-Temporary-Tables.htm誤った構文/タイプミス。 https://dev.mysql.com/doc/refman/5.5/en/insert.htmlのapiドキュメントをチェックしてください。値をグループ化することはできません。 – MSameer

関連する問題