Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Php MYSQL一起更新(更改)多个字段_Php_Mysql - Fatal编程技术网

Php MYSQL一起更新(更改)多个字段

Php MYSQL一起更新(更改)多个字段,php,mysql,Php,Mysql,基本上,我有一个包含许多字段的表,一些INT和一些VARCHAR 问题是,由于导入过程中的某些问题,某些字段被分配了VARCHAR 20和VARCHAR 10等。但是,它包含的数据长度超过100个字符 在mysql中,有没有一种方法可以通过一个查询将所有VARCHAR字段设置为VARCHAR 300,而不是VARCHAR 20等等 与此相反: Field 1 : VARCHAR 15 Field 2 : VARCHAR 20 Field 3 : INT 6 我想要 Field 1 : VARC

基本上,我有一个包含许多字段的表,一些INT和一些VARCHAR

问题是,由于导入过程中的某些问题,某些字段被分配了VARCHAR 20和VARCHAR 10等。但是,它包含的数据长度超过100个字符

在mysql中,有没有一种方法可以通过一个查询将所有VARCHAR字段设置为VARCHAR 300,而不是VARCHAR 20等等

与此相反:

Field 1 : VARCHAR 15
Field 2 : VARCHAR 20
Field 3 : INT 6
我想要

Field 1 : VARCHAR 300
Field 2 : VARCHAR 300
Field 3 : INT 6

提前感谢:-)

您可以使用
ALTER TABLE
语句修改您的列:

ALTER TABLE myTable
    MODIFY COLUMN Field1 VARCHAR(300),
    MODIFY COLUMN Field2 VARCHAR(300),
...
    MODIFY COLUMN FieldN VARCHAR(300);

另一种方法是使用过程获取所有表并更新所有字段。但我认为这不是你的情况。

在mysql中,有没有一种方法可以用一个查询将所有的VARCHAR字段改为VARCHAR 300,而不是VARCHAR 20等等。@RahulSharma他们应该使用
msqli
-这个答案有什么问题?@RahulSharma。“是”,将列更改为正确的长度。你必须列出这些列。这个答案唯一的缺点是Felippe重复了
altertable
,而不是在一条语句中进行多次修改。但是这个想法是正确的。编辑后,只需使用逗号。我们能在一个查询中完成吗,我有80多个字段?为什么我被否决:-(我在其他任何地方都找不到答案)你被否决了,因为你在寻找一个查询而不是一个接一个地更改查询时,浪费了十倍多的时间