文章详情页
mysql - 这样写替换表前缀的句子哪里有问题
浏览:33日期:2022-06-21 08:07:13
问题描述
Select CONCAT( ’ALTER TABLE ’, table_name, ’ RENAME TO jh_’, substring(table_name,6 ),’;’ )FROM information_schema.tables Where table_name LIKE ’33hao_%’;
想把数据库名为jh中的表前缀为33hao_的换成前缀为jh_
执行上面的代码后ALTER 出很多句子,但在执行这些ALTER句子时出现错误,如下
[SQL]ALTER TABLE 33hao_activity RENAME TO jh__activity;[Err] 1146 - Table ’jh.33hao_activity’ doesn’t exist
不知哪里写错了
问题解答
回答1:下划线也是通配符,应该做escape处理,否则把一些不是前缀为33hao_的表也包含了
select ... from table_name nformation_schema.tables where table_name LIKE ’33hao_%’回答2:
是不是数据库用错了,jh这个数据库真的有33hao_activity这个表嘛?
上一条:设置完mysql索引之后 如何使用下一条:mysql语句查询
相关文章:
1. angular.js - 如何通俗易懂的解释“依赖注入”?2. angular.js - angularJs ngRoute怎么在路由传递空字符串及用ng-switch取得3. node.js - win10如何安装并使用babel?4. mysql建表索引问题求助5. 视频文件不能播放,怎么办?6. echo 后面如果不加任何引号,也可以显示文字信息,为什么必须要加单引号呢?有啥区别吗?7. 老师能帮忙看是什么原因吗?网上找了好多都解决不了8. python - django 如何查询 ManyToManyField 包含某个 id9. 请教一条mysql的sql语句写法;10. javascript - js代码转python
排行榜
![angular.js - 如何通俗易懂的解释“依赖注入”?](http://www.haobala.com/attached/image/news/202311/101247a4a4.png)