第一次查询:
ALTER TABLE my_world ADD my_field TEXT; #Adding new column `my_field` in `my_world` table
第二次查询:
INSERT INTO my_world(my_field) VALUES('Hello world'); #Inserting value `Hello world` in `my_field` column
执行abobe查询后,MySQL显示1 row affected.
但该表看起来像 -
输出
+---------------+---------------+
| id | my_field |
+---------------+---------------+
| 1 | NULL |
| 2 | NULL |
| 3 | NULL |
+---------------+---------------+
注意:
id
是自动增量的主键
为什么my_field
始终插入NULL
值而不是Hello world
?
这个问题的解决方案是什么?
答案 0 :(得分:0)
我通过在“首次查询”之后添加SQL UPDATE
解决了我的问题
QUERY:
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............................
现在它在我的新列中插入带有VALUES的新行。
输出:
+---------------+---------------+--------------------+
| id | my_field | Other_fields ..... |
+---------------+---------------+--------------------+
| 1 | Hello world | .................. |
| 2 | Good By world| .................. |
| ..... | ..... | .................. |
+---------------+---------------+--------------------+
但仍然想知道为什么需要执行
UPDATE my_world SET my_field='';
查询。
答案 1 :(得分:-1)
尝试不使用大括号和点的INSERT INTO my_world.my_field VALUES ('Hello world');
。