如何在MySQL中更改表?

时间:2019-01-17 08:09:03

标签: mysql phpmyadmin

ALTER TABLE时出现问题。更改表格的原因是“由于其长度,该列可能不可编辑。”

enter image description here

MySQL说:文档

  

#1064-您的SQL语法有误;请查看与您的MariaDB服务器版本相对应的手册,以在第1行的“列说明(MAX_ROWS = 1000000000 AVG_ROW_LENGTH = 1000000000)”附近使用正确的语法

我的SQL查询

ALTER TABLE oc_information_description COLUMN description (MAX_ROWS = 1000000000 AVG_ROW_LENGTH=1000000000)

应该增加表的长度,并且不要截断我的数据。

1 个答案:

答案 0 :(得分:0)

您的根本问题是在列description上有关phpMyAdmin的以下注释:

  

由于其长度,此列可能不可编辑。

在这种情况下,当前数据类型TEXT很小,因此没有空间向该字段添加更多数据。您可以使用以下ALTER TABLE将数据类型更改为更大的数据类型(MEDIUMTEXTLONGTEXT):

ALTER TABLE oc_information_description MODIFY description MEDIUMTEXT

第二个问题是错误的sql语法(试图解决第一个问题):

  

1064-您的SQL语法有错误;请查看与您的MariaDB服务器版本相对应的手册,以在第1行的“ COLUMN说明(MAX_ROWS = 1000000000 AVG_ROW_LENGTH = 1000000000)”附近使用正确的语法

您不能为特定的列指定AVG_ROW_LENGTHMAX_ROWS。您只能为表指定它们。您可以使用以下ALTER TABLE更改这些值:

ALTER TABLE oc_information_description AVG_ROW_LENGTH = 1000000000, MAX_ROWS = 1000000000
  

table_options表示可以在CREATE TABLE语句中使用的表选项,例如ENGINEAUTO_INCREMENTAVG_ROW_LENGTH,{{1 }},MAX_ROWSROW_FORMAT