プロが教えるわが家の防犯対策術!

データ型とカラムの型を合わせるにはどうすればよいでしょうか。

先日、下記のような質問をしたところ、下記のような回答を頂いたのですが、具体的にどうすればレコードを追加できるのかわかりません。どうすれば解決できるでしょうか。

{先日の質問}
データベースのレコード追加できません。
下記のようなエラーがでてくるのですが、何をすればよいかわかりません。
当方、PHP+MySQL入門(秀和システム)という本を参考に、XAMPP(phpMyadmin)を使ってますが、エラーの解決方法がわかりません。(また、エラーを参照する良い本、サイト等あれば教えて頂ければ幸いです。)
わかる方がいらっしゃれば教えて頂ければ幸いです。


エラー

あなたの SQL クエリーにエラーがあります。MySQL サーバーは以下のようにエラーを出します。そこには問題を解決する手助けがあるでしょう。

ERROR: 引用符が閉じていません。 @ 81
STR: '
SQL: INSERT INTO member(

email,
keitai,
name,
futan,
) VALUES(
'aaa@aaa.com',
0,
'AN',
100
)

実行された SQL クエリー:

INSERT INTO member( email, keitai, name, futan, ) VALUES( 'aaa@aaa.com', 0, 'AN', 100 )

MySQLのメッセージ --> ヘルプ
#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 ') VALUES(
'aaa@aaa.com',
0,
'AN',
100
)' at line 7

05-08-23 01:37
回 答 運営スタッフに連絡
No.1 insertするカラムの数はいくつですか? 最後に余計なカンマが見えるのですけど?
最後のカンマをとって見ましょう
入力しようとするデータ型とカラムの型は一致していますか?
型が違うとデータ型違反を起こしますので注意です。

A 回答 (2件)

前回の回答者さんが言うように余計なカンマが入っているせいだと思います。


具体的にはココです。

SQL: INSERT INTO member(
email,
keitai,
name,
futan,      <== ココのカンマが余計
) VALUES(
'aaa@aaa.com',
0,
'AN',
100
)
    • good
    • 0
この回答へのお礼

「最後のカンマ」という表現がわからなかったのですが、ようやく、insertの最後という意味だとわかり、解決しました。やっと前に進めます。おかげ様でやる気が出てきました。本当に有難うございました。

お礼日時:2005/08/24 20:02

カンマを取ってもエラーが出るってことですか?



> 入力しようとするデータ型とカラムの型は一致していますか?

という部分については・・・
そのmemberというテーブルを作成するときに、
どういうCREATE文を実行しましたか?
CREATE文を作成するときに、カラムの横に型を書きますよね?
(そのカラムはどんな型かを明示する。)

CREATE TABLE address_book (
email varchar(40) NOT NULL,
keitai varchar(11) NOT NULL,
name varchar(32) NOT NULL,
futan int(11) NOT NULL,
PRIMARY KEY (email)
);

例えば上記のCREATE文でkeitaiのラインだと、
keitaiのカラムの型はvarcharですね。
しかし、insert文で「0」を入れようとすると、
「0」はint型なので、varchar型には入れられない、
ということです。
ですから、emailとnameがvarcharもしくはchar型になっているかどうか、
それから、keitaiとfutanがint型になっているかをチェックしてください。
    • good
    • 0
この回答へのお礼

「最後のカンマ」という表現がわからなかったのですが、ようやく、insertの最後という意味だとわかり、解決しました。やっと前に進めます。おかげ様でやる気が出てきました。本当に有難うございました。

型についての詳しいご説明も本当に有難うございました。今後に役立てます。

お礼日時:2005/08/24 20:03

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