php - 将所有表和字段更改为 MYSQL 中的 utf-8-bin 排序规则的脚本

标签 php sql mysql utf-8 collation

是否有我可以运行的 SQLPHP 脚本来更改数据库中所有表和字段中的默认排序规则?

我可以自己写一个,但我认为这应该是在这样的网站上很容易获得的东西。如果我能在别人发布之前自己想出一个,我会自己发布。

最佳答案

可以在单个命令中完成(而不是 PHP 的 148 条):

mysql --database=dbname -B -N -e "SHOW TABLES" \
| awk '{print "SET foreign_key_checks = 0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; SET foreign_key_checks = 1; "}' \
| mysql --database=dbname &

你必须喜欢命令行... (您可能需要为 mysql 使用 --user--password 选项)。

编辑:为避免外键问题,添加了 SET foreign_key_checks = 0;SET foreign_key_checks = 1;

关于php - 将所有表和字段更改为 MYSQL 中的 utf-8-bin 排序规则的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/105572/

相关文章:

php - 为 Heroku 应用程序选择 PHP 版本

sql - 使用正则表达式解析 select 语句(用于自定义 SQL 解析器)

Php、MySql 线程注释限制

php - 为什么 mysql 不告诉我重复项是什么?

php - 在 php exec 中使用 gammu 时出错

php - 我的自定义样式表入队功能不起作用

php - 不重复用户正确回答的问题的问题数据库

php - 查询日期和时间范围

mysql - 如何返回 Sequelize 中树 Node 的子 Node 数?

mysql - 为什么MySQL返回null 1000/0