Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 如何将表列从decimal更改为varchar_Mysql_Sql - Fatal编程技术网

Mysql 如何将表列从decimal更改为varchar

Mysql 如何将表列从decimal更改为varchar,mysql,sql,Mysql,Sql,我想知道是否可以将SQL表列从decimal更改为varchar 我的表名为“products”,我想将“qty”列更改为varchar 我希望最终结果是: 表products中的列数量应为varchar而不是decimal 基于 按照语法altertable\u name修改列 因此,在您的情况下,它将是: ALTER TABLE products MODIFY COLUMN qty VARCHAR(desired_characters); 所需字符应定义您的varchar应包含的字符数

我想知道是否可以将SQL表列从decimal更改为varchar

我的表名为“products”,我想将“qty”列更改为varchar

我希望最终结果是:

  • 表products中的列数量应为varchar而不是decimal
基于

按照语法
altertable\u name修改列

因此,在您的情况下,它将是:

ALTER TABLE products MODIFY COLUMN qty VARCHAR(desired_characters);
所需字符应定义您的
varchar
应包含的字符数

但是,我建议对数量类型字段使用
int
。此外,您可以将其标记为未签名,因为数量不能为负数

ALTER TABLE products MODIFY COLUMN qty int unsigned;
根据

按照语法
altertable\u name修改列

因此,在您的情况下,它将是:

ALTER TABLE products MODIFY COLUMN qty VARCHAR(desired_characters);
所需字符应定义您的
varchar
应包含的字符数

但是,我建议对数量类型字段使用
int
。此外,您可以将其标记为未签名,因为数量不能为负数

ALTER TABLE products MODIFY COLUMN qty int unsigned;

用您正在使用的数据库标记您的问题。但是,为什么希望
qty
为字符串?一个数字似乎很合理。你真的想把一个数量作为varchar来保存吗?比如数量=‘十’??我怀疑从长远来看这将是一个好主意。对我来说,这听起来像是一个糟糕的设计。如果您需要额外的信息,最好创建一个新列来保存此信息。例如,如果您需要存储“2kg”,请在此新的varchar列中以数量和kg存储2。您能解释一下为什么要更改数据类型吗?这可以帮助我们回答这个问题/给你更好的设计选择。好的!谢谢大家的想法。我应该试试你告诉@Felippeduarte的那个,用你正在使用的数据库标记你的问题。但是,为什么希望
qty
为字符串?一个数字似乎很合理。你真的想把一个数量作为varchar来保存吗?比如数量=‘十’??我怀疑从长远来看这将是一个好主意。对我来说,这听起来像是一个糟糕的设计。如果您需要额外的信息,最好创建一个新列来保存此信息。例如,如果您需要存储“2kg”,请在此新的varchar列中以数量和kg存储2。您能解释一下为什么要更改数据类型吗?这可以帮助我们回答这个问题/给你更好的设计选择。好的!谢谢大家的想法。我应该试试你告诉@FelippeDuarte的那个