文章詳情頁
mysql - 這樣寫替換表前綴的句子哪里有問題
瀏覽:93日期: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語句查詢
相關文章:
排行榜
