当前位置: 首页 > 知识库问答 >
问题:

MySQL添加列中断数据

曹新觉
2023-03-14

我使用命令行在mySQL中成功创建了一个数据库并导入了一些数据。它目前看起来像这样。

desc data;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| code     | varchar(10) | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+

SELECT * FROM data;
    +----+----------+
    | id | code     |
    +----+----------+
     | 1 | 123abc
     | 2 | 234def
     | 3 | 567ghi
     | 4 | 890jkl

我想在表中添加一个名为时间戳的列,我正在使用...

alter table data add timestamp VARCHAR(20);

但是我的桌子看起来像这样。。。

desc data;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| id        | int(11)     | NO   | PRI | NULL    | auto_increment |
| code      | varchar(10) | YES  |     | NULL    |                |
| timestamp | varchar(20) | YES  |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+

SELECT * FROM data;
    +----+----------+-----------+
    | id | code     | timestamp |
    +----+----------+-----------+
     | NULL       |
     | NULL       |
     | NULL       |
     | NULL       |

我哪里做错了?

共有1个答案

魏兴邦
2023-03-14

在这里你可以看到背虱

alter table `data` add `timestamp` VARCHAR(20);

样品

MariaDB []> desc data;
+-------+----------------------+------+-----+---------+----------------+
| Field | Type                 | Null | Key | Default | Extra          |
+-------+----------------------+------+-----+---------+----------------+
| id    | int(11) unsigned     | NO   | PRI | NULL    | auto_increment |
| e     | enum('x1','x2','x3') | YES  |     | NULL    |                |
+-------+----------------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)

MariaDB []> alter table `data` add `timestamp` VARCHAR(20);
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB []> desc data;
+-----------+----------------------+------+-----+---------+----------------+
| Field     | Type                 | Null | Key | Default | Extra          |
+-----------+----------------------+------+-----+---------+----------------+
| id        | int(11) unsigned     | NO   | PRI | NULL    | auto_increment |
| e         | enum('x1','x2','x3') | YES  |     | NULL    |                |
| timestamp | varchar(20)          | YES  |     | NULL    |                |
+-----------+----------------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

表数据

MariaDB [who]> select * from `data`;
+----+------+-----------+
| id | e    | timestamp |
+----+------+-----------+
|  1 | x1   | NULL      |
|  2 | x2   | NULL      |
+----+------+-----------+
2 rows in set (0.00 sec)

MariaDB [who]>
 类似资料:
  • 问题内容: 有没有一种方法可以使用预先定义的值自动更新Mysql DB中表中的列的值,并且该更新应该每月进行一次。 情况是,我想更新表雇员的列余额,每个雇员每月增加2.5天,并且每两年为每名雇员重设总天数。 问题答案: 考虑使用mysql的Create Event策略,该策略可以免去执行cron作业的麻烦。 几乎在任何情况下,您都可以做一些今年初就不会想到的事情。例如每周一次根据员工周年纪念日处理

  • 问题内容: 我的MySQL表具有以下结构: 我想将以上三列合并为一列,如下所示: 我想将此“组合”列添加到表的末尾而不破坏原始的3个字段。 问题答案: 创建列: 更新当前值: 自动更新所有未来值:

  • 我需要在一个表中添加多个列,但将这些列放在一个名为的列之后。 我试过这个: 我得到这个错误: 您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以了解在'后面第7行的')处使用的正确语法 如何在这样的查询中使用AFTER?

  • 问题内容: 我正在尝试使用PHP将新列添加到我的MYSQL表中。我不确定如何更改表以创建新列。在我的评估表中,我有: 假设我有一个带有文本框的页面,然后输入文本框并按一个按钮,则表将更新为: 我的代码: 问题答案: 您的桌子: 你也可以

  • 本文向大家介绍将整数从变量添加到MySQL列?,包括了将整数从变量添加到MySQL列?的使用技巧和注意事项,需要的朋友参考一下 要设置变量,请使用MySQL SET。要从变量中添加整数,请按照以下语法使用UPDATE和SET- 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 输出结果 这将产生以下输出- 以下是将变量中的整数添加到MySQL列的查

  • 问题内容: 我有一些像这样的数据框: A中值 的 可能范围仅为0到7 。 另外,我有一个8个元素的列表,如下所示: 如果A列中的元素是 n ,我需要将List中的第 n 个元素插入新列,例如’D’。 如何一口气做到这一点而又不遍历整个数据框? 产生的数据框如下所示: 注意:数据框很大,迭代是最后一个选项。但是如果需要的话,我也可以将其他数据结构(如dict)排列在“ List”中的元素上。 问题答