【问题标题】:MySQL Remove FieldMySQL 删除字段
【发布时间】:2014-05-09 16:55:20
【问题描述】:

为什么我不能从 MySQL 数据库中删除字段¿?

mysql> describe Clients;

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| name        | varchar(255) | NO   |     | NULL    |                |
| shurname    | varchar(255) | NO   |     | NULL    |                |
| email       | varchar(255) | NO   |     | NULL    |                |
| password    | varchar(255) | NO   |     | NULL    |                |
| userId      | int(11)      | NO   |     | NULL    |                |
| userMessage | varchar(255) | YES  |     | NULL    |                |
| userName    | varchar(255) | YES  |     | NULL    |                |
| pwd         | varchar(255) | YES  |     | NULL    |                |
| surname     | varchar(255) | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
10 rows in set (0.00 sec)

mysql> ALTER TABLE Clients DROP userId;
^CCtrl-C -- sending "KILL QUERY 104" to server ...
Ctrl-C -- query aborted.
ERROR 1317 (70100): Query execution was interrupted
mysql> ALTER TABLE Clients DROP userMessage;

它并没有完成,它卡住并且不删除.... 我想删除 userId、userMessage、userName、pwd 和 surname。

【问题讨论】:

  • 我很好奇,shurname 是什么,它与 surname 有什么区别?
  • 桌子有多大? 10行? 1000 万行? ...?
  • 哈哈哈我错了

标签: mysql alter-table delete-row


【解决方案1】:

如果您首先删除自动增量并删除主键,您应该能够删除该字段。也许即使只是删除自动增量也会这样做,但不确定。无论如何,其他字段应该删除。

【讨论】:

  • 我不确定你的意思,userId 不是这个表中的主键。
  • 哦,抱歉,我没有看到其他 user_id。那么 user_id 没有理由不应该删除,你确定它不让你吗?
【解决方案2】:

我什至不能删除作为 root 的表:

mysql> show tables;
+-------------------------+
| Tables_in_Hoteles_Compu |
+-------------------------+
| Clients                 |
| Coords                  |
| Hotels                  |
| Rate                    |
| Regions                 |
+-------------------------+
5 rows in set (0.00 sec)

mysql> drop table Coords;
Query OK, 0 rows affected (0.04 sec)

mysql> drop table Clients;

【讨论】:

  • 1.这应该是一个编辑,而不是一个答案。 2. 表中有多少数据?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多