Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-更改索引列VARCHAR长度?_Mysql_Indexing_Key_Varchar_Maxlength - Fatal编程技术网

MySQL-更改索引列VARCHAR长度?

MySQL-更改索引列VARCHAR长度?,mysql,indexing,key,varchar,maxlength,Mysql,Indexing,Key,Varchar,Maxlength,我目前有一个表,它的索引列是唯一的索引列“name”。目前,“name”列是长度为25的varchar。我想把这个增加到50。我正在尝试使用 alter table `meal_prices` modify `name` varchar(50); 这样做。但是,这似乎不会影响列。我觉得这不起作用,因为该列是索引列,但我不确定。有什么建议吗?非常感谢。稍后运行show create table TABLENAME以验证数据类型是否已更改。是否会引发错误?还是什么都不做?据我所知,它什么都不做。我

我目前有一个表,它的索引列是唯一的索引列“name”。目前,“name”列是长度为25的varchar。我想把这个增加到50。我正在尝试使用

alter table `meal_prices` modify `name` varchar(50);

这样做。但是,这似乎不会影响列。我觉得这不起作用,因为该列是索引列,但我不确定。有什么建议吗?非常感谢。

稍后运行
show create table TABLENAME
以验证数据类型是否已更改。

是否会引发错误?还是什么都不做?据我所知,它什么都不做。我正在通过HeidiSQL Portable运行它。但海蒂通常会向我展示任何错误,如果它们发生了,并且没有出现。看起来应该是可行的。您确定它没有更改数据类型吗?如果运行
show create table TABLENAME
,则不会显示对数据类型的更改?不过,通过Heidi本身更改长度才有意义。为此,Heidi打印它使用的代码,即
ALTER TABLE'mean_prices'CHANGE COLUMN'name''name'VARCHAR(50)在'the_COLUMN_before_name'之后不为NULL。这似乎是可行的,我会用它来代替。谢谢你的帮助!更改列和修改列的操作相同。这两种变体都应该有效。