更改“的限制;Mysql行大小太大”;
行大小太大(>8126)。将某些列更改为文本或BLOB可能会有所帮助。在当前行格式中,0字节的BLOB前缀以内联方式存储 导入SQL文件时发生以下错误 [导入SQL文件时出错]更改“的限制;Mysql行大小太大”;,mysql,sql,Mysql,Sql,行大小太大(>8126)。将某些列更改为文本或BLOB可能会有所帮助。在当前行格式中,0字节的BLOB前缀以内联方式存储 导入SQL文件时发生以下错误 [导入SQL文件时出错] 在我的SQL文件中还有许多其他查询,可能是因为它们才出现这个问题 -- --表tbl\u设置的表结构 在这种情况下可以做什么?尝试使用MySQL 8.0。你不会遇到任何问题 我刚刚在MySQL 8.0.18上创建了您的表 test> use test [2021-04-24 23:28:00] complete
在我的SQL文件中还有许多其他查询,可能是因为它们才出现这个问题 -- --表
tbl\u设置的表结构
在这种情况下可以做什么?尝试使用MySQL 8.0。你不会遇到任何问题
我刚刚在MySQL 8.0.18上创建了您的表
test> use test
[2021-04-24 23:28:00] completed in 29 ms
test> CREATE TABLE `tbl_settings` (
`id` int(11) NOT NULL,
`logo` varchar(255) NOT NULL,
`favicon` varchar(255) NOT NULL,
`footer_copyright` text NOT NULL,
`footer_address` text NOT NULL,
`footer_email` text NOT NULL,
`footer_phone` text NOT NULL,
`top_bar_email` varchar(255) NOT NULL,
`top_bar_phone` varchar(255) NOT NULL,
`send_email_from` varchar(255) NOT NULL,
`receive_email_to` varchar(255) NOT NULL,
`total_recent_news_footer` int(10) NOT NULL,
`total_upcoming_tour_footer` int(10) NOT NULL,
`total_featured_tour_footer` int(11) NOT NULL,
`total_recent_news_sidebar` int(11) NOT NULL,
`total_recent_news_home_page` int(11) NOT NULL,
`home_title_service` varchar(255) NOT NULL,
`home_subtitle_service` varchar(255) NOT NULL,
`home_status_service` varchar(10) NOT NULL,
`home_title_team_member` varchar(255) NOT NULL,
`home_subtitle_team_member` varchar(255) NOT NULL,
`home_status_team_member` varchar(10) NOT NULL,
`home_title_testimonial` varchar(255) NOT NULL,
`home_subtitle_testimonial` varchar(255) NOT NULL,
`home_status_testimonial` varchar(10) NOT NULL,
`home_photo_testimonial` varchar(255) NOT NULL,
`home_title_news` varchar(255) NOT NULL,
`home_subtitle_news` varchar(255) NOT NULL,
`home_status_news` varchar(10) NOT NULL,
`home_title_client` varchar(255) NOT NULL,
`home_subtitle_client` varchar(255) NOT NULL,
`home_status_client` varchar(10) NOT NULL,
`home_title_destination` varchar(255) NOT NULL,
`home_subtitle_destination` varchar(255) NOT NULL,
`home_status_destination` varchar(10) NOT NULL,
`home_title_featured_package` varchar(255) NOT NULL,
`home_subtitle_featured_package` varchar(255) NOT NULL,
`home_status_featured_package` varchar(10) NOT NULL,
`newsletter_title` varchar(255) NOT NULL,
`newsletter_text` text NOT NULL,
`newsletter_photo` varchar(255) NOT NULL,
`newsletter_status` varchar(10) NOT NULL,
`banner_about` varchar(255) NOT NULL,
`banner_faq` varchar(255) NOT NULL,
`banner_service` varchar(255) NOT NULL,
`banner_testimonial` varchar(255) NOT NULL,
`banner_news` varchar(255) NOT NULL,
`banner_contact` varchar(255) NOT NULL,
`banner_search` varchar(255) NOT NULL,
`banner_category` varchar(255) NOT NULL,
`banner_terms` varchar(255) NOT NULL,
`banner_privacy` varchar(255) NOT NULL,
`banner_destination` varchar(255) NOT NULL,
`banner_team` varchar(255) NOT NULL,
`banner_payment` varchar(255) NOT NULL,
`banner_payment_success` varchar(255) NOT NULL,
`banner_payment_pending` varchar(255) NOT NULL,
`banner_registration` varchar(255) NOT NULL,
`banner_login` varchar(255) NOT NULL,
`banner_forget_password` varchar(255) NOT NULL,
`banner_reset_password` varchar(255) NOT NULL,
`banner_reset_password_success` varchar(255) NOT NULL,
`banner_verify_registration` varchar(255) NOT NULL,
`banner_verify_subscriber` varchar(255) NOT NULL,
`counter_1_title` varchar(255) NOT NULL,
`counter_1_value` varchar(10) NOT NULL,
`counter_2_title` varchar(255) NOT NULL,
`counter_2_value` varchar(10) NOT NULL,
`counter_3_title` varchar(255) NOT NULL,
`counter_3_value` varchar(10) NOT NULL,
`counter_4_title` varchar(255) NOT NULL,
`counter_4_value` varchar(10) NOT NULL,
`counter_photo` varchar(255) NOT NULL,
`counter_status` varchar(10) NOT NULL,
`front_end_color` varchar(20) NOT NULL,
`paypal_email` varchar(255) NOT NULL,
`stripe_public_key` varchar(255) NOT NULL,
`stripe_secret_key` varchar(255) NOT NULL,
`bank_detail` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
[2021-04-24 23:28:00] [HY000][1681] Integer display width is deprecated and will be removed in a future release.
[2021-04-24 23:28:00] [HY000][1681] Integer display width is deprecated and will be removed in a future release.
[2021-04-24 23:28:00] [HY000][1681] Integer display width is deprecated and will be removed in a future release.
[2021-04-24 23:28:00] [HY000][1681] Integer display width is deprecated and will be removed in a future release.
[2021-04-24 23:28:00] [HY000][1681] Integer display width is deprecated and will be removed in a future release.
[2021-04-24 23:28:00] [HY000][1681] Integer display width is deprecated and will be removed in a future release.
[2021-04-24 23:28:00] completed in 181 ms
InnoDB表的最大行大小(适用于数据库页面中本地存储的数据)对于4KB、8KB、16KB和32KB InnoDB_页面大小设置来说略小于半页
基于这个错误,您的mysql服务器innodb_page_大小设置被设置为16K,因此您的行大小限制为8126
innodb_page_大小只能在初始化MySQL实例之前配置,之后不能更改
参考资料:
-
-
您可以尝试运行下面的命令并检查您的innodb_页面大小
show global status
我觉得这很有趣:
将列更改为文本可以避免MySQL 65535字节的行大小限制,而InnoDB变长列的页外存储可以避免InnoDB行大小限制
因此,尝试将两列的varchar(255)更改为文本,这样可以解决您的问题。但是,也有一些缺点(例如文本大小固定,占用磁盘空间较多,并且无法完全索引)
看小提琴
或者将其与ROW\u FORMAT=COMPRESSED
或者,您可以尝试将表拆分为两个表,或者尝试限制表中varchar数据类型的大小。尝试从varchar(255)中删除“(255)”。所有varchar列加上文本列的255个字符的长度加起来就是mysql数据库中允许的最终行大小>最大行大小。第一次点击Google可能会有所帮助:在mysql 5.7中运行良好。请参阅:@TheImpler在我的SQL文件中还有许多其他查询。请尝试导入此SQL文件,并让我知道输出[链接](drive.google.com/file/d/1uEGRqrrlTS90mnNjba-7W4Zehh-iPAFd/…)我的SQL文件中还有许多其他查询。请尝试导入此SQL文件,并让我知道输出[链接]()您的脚本适用于Mysql 5.6。mysql 8无法导入它
show global status