我刚刚为一个MySQL数据库创建了一个新的复制服务器,当我加载mysql_dump时,我收到了错误ERROR 1118 (42000) at line 279: Row size too large (> 8126)。似乎是合理的,这些行太大了。问题是这些太大的行已经在数据库中了,而且有人告诉我,其中一些表可能打开了压缩。
如何查看哪些表打开了压缩功能?为什么压缩不与mysql_dump一起传输?
假设API服务器通过请求访问SQL服务器,MySQL服务器的连接是这样的。
@mysql_connect(HOSTNAME,DATABASE_USER, DATABASE_PASSWORD) or die('Could not connect to : ' . mysql_error());
@mysql_select_db(DATABASE_NAME) or die( "<-----------------------Unable to select database------------------>");
有没有办
是否有可能以这种方式将随机行(一列)移动到另一表,这样即使会同时请求数据,也不会有人获得这些数据吗?
例如:如果您打开我的页面,您将从MySQL获得一个数据,即使与您同时打开此页面,也不会有人获得这些数据。
现在我这样做:
mysql_query("INSERT INTO `ShowRow` SELECT * FROM `AllRows` WHERE 1 LIMIT 1");
mysql_query("DELETE FROM `AllRows` LIMIT 1");
还有其他更好的方法吗?或者,如果只有一个列,如何对特定的行进行SELECT?