扫码关注官方订阅号
业务修改,需要将数据库里原来decimal(14,2)改成decimal(22,10),有批量修改的方法么,百度了一下没有找到可以用的
小伙看你根骨奇佳,潜力无限,来学PHP伐。
参考网上说的自己试了一下可以用,cli模式下,执行下面一段代码
$sql = "SELECT CONCAT( 'alter table ', table_name, ' MODIFY COLUMN ', column_name, ' decimal(22,10) DEFAULT NULL;' ) AS execSql, TABLE_NAME, COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.columns a WHERE TABLE_SCHEMA = '".YourDBName."' AND data_type IN ('decimal')"; // 返回的结果里已经将要执行的更改sql拼接好了,接下来遍历执行就行了 $return = $this->dbh->query($sql)->fetchAll(); foreach($return as $sql) { try { $this->dbh->query($sql->execSql); } catch (PDOException $e) { echo 'error: '. $e->getMessage() ."exec sql : ".$sql->execSql.PHP_EOL.PHP_EOL; } } 类似这样
我只是个搬运工:alter table 表名 modify column 字段名 类型;
alter table 表名 modify column 字段名 类型;
sorry 看错需求.
ALTER TABLE `t_test` MODIFY COLUMN `money` decimal(22,10)
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
参考网上说的自己试了一下可以用,cli模式下,执行下面一段代码
我只是个搬运工:
alter table 表名 modify column 字段名 类型;sorry 看错需求.