こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

データ挿入

MySQLでabevというテーブルにデータを挿入しようと
INSERT INTO abev SET name='名前', story=10, music=10, voice=10, character=10, graphic=10, comment='コメント';
というSQL文を打ったのですが、
#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 'character=10, graphic=10, comment='コメント'' at line 1
というエラーがでます。
idはオートインクリメントしてあるので省いています。
フィールド名のつづりも間違ってません。
いったいどこが悪いのでしょうか?

投稿日時 - 2012-05-09 12:15:53

QNo.7466205

すぐに回答ほしいです

質問者が選んだベストアンサー

INSERT の構文はいろいろあります。
構文自体はあっています

今回は予約語をフィールド名に使っているのが問題です
今回のように無意識にバッティングするケースも懸念されるので
フィール名は明示的にバッククォートで囲むように心がけましょう

INSERT INTO `abev` SET `name`='名前', `story`=10, `music`=10, `voice`=10, `character`=10, `graphic`=10, `comment`='コメント';

投稿日時 - 2012-05-09 13:10:23

お礼

データ挿入できました。
ありがとうございます。

投稿日時 - 2012-05-09 13:36:03

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

INSERT文の使い方が間違っています。
正しくは以下のようになります。
INSERT INTO abev (name,story,music,voice,character,graphic,comment)
VALUES ('名前',10,10,10,10,10,'コメント');

掲題の記述はUPDATE文のやり方ですので、
混同しないように注意してください。

投稿日時 - 2012-05-09 12:59:17

ANo.1

insert文とupdate文を混同してます。

insert into テーブル名 (フィールド名1、フィールド名2…) values(値1、値2…);

では?

投稿日時 - 2012-05-09 12:38:17

あなたにオススメの質問