1

何が問題なのか、なぜ私のステートメントが挿入されないのかわかりません。次のデータがあります。

username varchar length (25)
password varchar length (25)
fname varchar length (25)
email text
contactnum big int (30)

私の電子メールが contactnum と一緒に挿入されない理由がわかりません。スクリーンショットは次のとおりです。 ここに画像の説明を入力

私が理解していることに基づいて、長さはデータに入力できる文字数ですよね?

クエリのどこが間違っていると思われますか?

4

2 に答える 2

1
INSERT INTO members (username, password, fname, email, contactnum)
VALUES (2, 2, 2, 'have@gmail.com', 1)

その文字列が一重引用符を使用することを忘れない場合

于 2013-08-23T05:28:51.867 に答える
0

電子メールフィールドに挿入する文字列値は、引用符で囲む必要があります。また、テーブルと列の名前は引用符で囲まないでください。クエリは次のようになります。

INSERT INTO members (username, password, fname, email, contactnum)
VALUES (2, 2, 2, 'have@gmail.com', 1)

変更する最初の 3 つのフィールドは varchar として宣言されているため、それらにも文字列を挿入する必要があることに注意してください。整数を varchar フィールドに挿入しようとしてもエラーが発生しない理由は、場合によっては間違ったデータ型が自動的に変換される可能性があるためです。エラーや予期しない結果を避けるために、暗黙的な型変換に依存しない方が良いと思います。そのため、クエリは実際には次のように記述する必要があります。

INSERT INTO members (username, password, fname, email, contactnum)
VALUES ('2', '2', '2', 'have@gmail.com', 1)

とはいえ、それは意見の問題です。どちらも機能します。

于 2013-08-23T05:26:26.813 に答える