プロが教える店舗&オフィスのセキュリティ対策術

カラム名を指定してデータを挿入するのがうまくいきません。

テーブル(tb1)作成後、たとえば、

insert into tb1(number, name, age) values(A104, '渡辺', 23);

と入力すると、

'>

と出力されてしまいます。

何が間違っているんでしょうか?
よろしくお願いいたします。

A 回答 (2件)

>insert into tb1(number, name, age) values(A104, '渡辺', 23);



(1)重複エラーを防ぐにはIGNOREを指定する(上書きされない)
(2)テーブル名やカラム名はバッククォートで囲む
(3)値はシングルクォートで囲む
の対策でだいぶエラー頻度は減ると思います。

INSERT IGNORE INTO `tb1`(`number`,`name`,`age`) VALUES('A104','渡辺', '23');
    • good
    • 1
この回答へのお礼

テーブル名、カラム名をバッククォーテーションで囲むことで解決しました。

本(基礎からのMySQL)には、「データベース名、テーブル名、カラム名はバッククォーテーションで囲むことができますが、本書では省略しています。」と記述されてありました。なぜなんでしょうね。

本当に助かりました。すっきりして次に進めます。ありがとうございました。

お礼日時:2011/12/08 14:35

A104と23をシングルクォーテーションで囲んだらいいんじゃないか?

    • good
    • 0
この回答へのお礼

ありがとうございます。シングルクォーテーションも試したのですが依然として、

'>

と表示されます。
しかも、この表示が出てからは他の命令文(たとえばquit)などを入れても、同じように「'>」と返されてしまい、終了することさえもできません。INSERT文とは関係ないのかもしれませんね。

お礼日時:2011/12/08 13:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!