2016-10-31 6 views
0

最初のクエリを作成した後に値を挿入することはできません:MySQLは、新しい列

ALTER TABLE my_world ADD my_field TEXT; #Adding new column `my_field` in `my_world` table 

SECOND QUERY:

INSERT INTO my_world(my_field) VALUES('Hello world'); #Inserting value `Hello world` in `my_field` column 

abobeクエリを実行した後、MySQLは1 row affected.を示すが、表があります〜のように見える -

OUTPUT

+---------------+---------------+ 
| id   | my_field  | 
+---------------+---------------+ 
| 1   | NULL   | 
| 2   | NULL   | 
| 3   | NULL   | 
+---------------+---------------+ 

idmy_fieldは常にNULL値の代わりに、Hello worldを挿入するのはなぜオートインクリメント

と主キーのですか?

この問題の解決方法を教えてください。

+4

これは、現在使用している実際のテーブル名/カラム名ですか?クエリでは何も間違っていないからです。 –

+0

my_fieldは 'text'データ型ですか? 'text'の場合は長さをチェックします。あなたの質問は正しいです。 –

+0

新しい列を追加した後、テーブル構造のエクスポートを提供してください。 – krasipenkov

答えて

1

私は私の "最初のクエリは、"

QUERY後にSQL UPDATEを追加することによって、私の問題を解決しました:

ALTER TABLE my_world ADD my_field TEXT; 
UPDATE my_world SET my_field=''; 

INSERT INTO my_world(my_field) VALUES('Hello world'); 
INSERT INTO my_world(my_field) VALUES('Good By world'); 
#More insert query is here............................ 

今では私の新しい列の値を持つ新しい行を挿入しています。

OUTPUT:

+---------------+---------------+--------------------+ 
| id   | my_field  | Other_fields ..... | 
+---------------+---------------+--------------------+ 
| 1   | Hello world | .................. | 
| 2   | Good By world| .................. | 
| .....  | .....  | .................. | 
+---------------+---------------+--------------------+ 

しかしUPDATE my_world SET my_field='';クエリを実行する必要がある理由はまだ疑問に思います。

-1

INSERT INTO my_world.my_field VALUES ('Hello world');は、中かっこなしで試してください。

+1

'my_field'はテーブルではないカラムなので、これはうまくいきませんでした。 – bassxzero

+0

Ahhいいえ!挿入する他のフィールドがあります。一度に 'name'、' email'などと同じです。 @bassxzero –

+0

したがって、すべての値は 'my_field'を除いて入力されます。 @SumonSarkerを修正しますか? –

関連する問題