首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

线下从库服务器临时表报错如上,有碰到么,share上解决办法

2012-09-14 
线上从库服务器临时表报错如下,有碰到么,share下解决方法!1205294:10:04 [Warning] Invalid (old?) table

线上从库服务器临时表报错如下,有碰到么,share下解决方法!
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 4:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_a45f56_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'
120529 7:10:04 [Warning] Invalid (old?) table or database name '#sql7a34_ab74b1_2'


自己写了一个脚本,抓到这2个时间点执行sql如下:


$sql = "insert into product_xxxxxxx(select * from product_inventory_xxxxxxx)";

product_inventory_xxxxxxx这个是临时表;
在insert之前有如下sql:

1 CREATE TEMPORARY TABLE `product_inventory_xxxxxxx` ".$table_structure;

2 然后是一堆insert,upate,大概有15条左右吧。

3 insert into product_xxxxxxx(select * from product_inventory_xxxxxxx)";

在1和2的时候,没有报错,在3的时候报错了,而且报错之后3还在执行,大概需要70秒执行完毕。


[解决办法]
你的SQL语句是什么
假设结构一致
insert into product_xxxxxxx select * from product_inventory_xxxxxxx

product_inventory_xxxxxxx

TEMPORARY不能重复打开
[解决办法]
临时表有限制:
在同一个query语句中,你只能查找一次临时表。例如:下面的就不可用

  mysql> SELECT * FROM temp_table, temp_table AS t2;

  ERROR 1137: Can't reopen table: 'temp_table'

  如果在一个存储函数里,你用不同的别名查找一个临时表多次,或者在这个存储函数里用不同的语句查找,这个错误都会发生。
[解决办法]
所以要检查一下你的SQL语句、SP、UDF之类的
[解决办法]
把你的语句直接在MYSQL的命令行工具下试一下。

热点排行