我在Cpanel服务器的数据库中有一个表,其中当前有17列,其中一列是自动递增字段(这是主键)。 目前在该表中我有600k行。 我想在表格中添加一个新列,但我收到以下错误
修复表时1034-137
我正在使用Alter命令添加列
ALter table 'tablename' add 'columnname' Varchar(200) NOT NULL
请帮我解决如何将列添加到现有表格
答案 0 :(得分:1)
由于新列不允许NULL值,因此您需要为列指定默认值。更改表时,将使用新列的默认值填充表中的所有现有行。
例如,要将默认值设置为空字符串,可以使用此语句。
alter table 'tablename' add 'columnname' Varchar(200) NOT NULL DEFAULT ''
以下是使用DEFAULT的一些文档。
您也可以在更改表后删除DEFAULT约束,以便在尝试向该列中插入NULL值时,将来对表的插入将失败,
答案 1 :(得分:0)
在研究错误后,您的表上的索引似乎可能存在问题。哪些表的索引不是您的主键?
在phpmyadmin中选择你的表,然后在工具栏上打开Operations。
在右侧的“表维护”下,单击检查表链接以查明是否有任何错误。
您可能需要进行一些重建索引来纠正错误。