更新时间:2023-02-02 12:19:42
参考网上说的自己试了一下可以用,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;
}
}
类似这样