MySQL创建新列后无法插入值

时间:2016-10-31 11:23:03

标签: mysql

第一次查询:

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

这个问题的解决方案是什么?

2 个答案:

答案 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');