Navicat SQLファイルエラーの実行
4037 ワード
文書ディレクトリエラー1031 解決方法 エラー1265 理由 解決方法 エラー報告2013 理由 解決策 参考 説明:
MySQL 5.7.26
Navicat 12.1.20
エラー1031
NavicatはSQLファイルを実行し、エラーを報告します1031
解決策
削除
エラー1265
テーブル構造の表示
の原因となる
元のテーブルのfromフィールドのタイプは列挙であり、android iosの2つのオプションしかありません.SQLファイルに書き込まれたデータは空の文字列
解決策
このテーブルに対するInsert文が多すぎるので、テーブルを作成する文を変更しました.
置換
Linuxシステムではsedコマンドを使用します.テスト
実行
エラーメッセージ2013
の原因となる
解決策
変数net_read_timeoutとnet_write_timeoutは、それぞれ30秒と60秒に設定されています.いいよcnfプロファイルでは、必要に応じて設定して変更します.そうだcnfがこれらの変更を行った後、MySQLを再起動する必要があります!!!
変更するとmy.cnf後、再起動したくない場合は、以下のSQLを実行します.
リファレンス
[1] Mysql Row_Formatパラメータ説明[DB|OL]https://www.cnblogs.com/bing-yu12/p/7735652.html[2]awk&sed入門(プログラマブルフィルタawkとストリームエディタsed)[DB|OL]https://blog.csdn.net/zhou16333/article/details/84234978#_226 [3] [DB|OL] https://blog.csdn.net/weixin_39561473/article/details/90213914
MySQL 5.7.26
Navicat 12.1.20
エラー1031
NavicatはSQLファイルを実行し、エラーを報告します1031
[ERR] 1031 - Table storage engine for ' ' doesn't have this option
[ERR] CREATE TABLE eload_order_to_erp_records (
id int(11) NOT NULL AUTO_INCREMENT,
order_id int(11) DEFAULT '0',
addtime int(11) DEFAULT '0',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=11429 DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED
解決策
削除
ROW_FORMAT=FIXED
Linuxシステムでは、sedを使用してテキストを置換できます.[root@sy-pc ~]$ cat old.sql | sed 's/ROW_FORMAT=FIXED//g' > new.sql
エラー1265
[SQL] Query SQL start
[ERR] 1265 - Data truncated for column 'from' at row 1
[ERR] INSERT INTO `feedback` VALUES ('14', '1', '[email protected]', 'God
Df
Lloyd
Kl
Lloyd
Lloyd
Loll
Loll
LoJack
Junk
Kim
]jkj
Jkj
Jkj
Kill
Like
Khalil
Loll
\\lll
I\'ll', '', '1465951204')
[SQL] Finished unsuccessfully
テーブル構造の表示
DROP TABLE IF EXISTS `feedback`;
CREATE TABLE feedback (
f_id int(11) NOT NULL AUTO_INCREMENT COMMENT ' ',
`type` tinyint(1) DEFAULT NULL COMMENT ' ',
email varchar(50) DEFAULT NULL COMMENT ' ',
content text COMMENT ' ',
`from` enum('android','ios') DEFAULT NULL COMMENT ' ',
created_time int(10) DEFAULT NULL COMMENT ' ',
PRIMARY KEY (f_id)
) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8 COMMENT='APP ';
の原因となる
元のテーブルのfromフィールドのタイプは列挙であり、android iosの2つのオプションしかありません.SQLファイルに書き込まれたデータは空の文字列
''
で、タイプが一致しないことによるエラーです.解決策
このテーブルに対するInsert文が多すぎるので、テーブルを作成する文を変更しました.
`from` enum('android','ios') DEFAULT NULL COMMENT ' ',
置換
`from` enum('android','ios','') DEFAULT NULL COMMENT ' ',
Linuxシステムではsedコマンドを使用します.テスト
$ cat old.sql | sed "s/\`from\` enum('android','ios') DEFAULT NULL COMMENT ' '/\`from\` enum('android','ios','') DEFAULT NULL COMMENT ' '/" | grep "DEFAULT NULL COMMENT ' '"
`from` enum('android','ios','') DEFAULT NULL COMMENT ' ',
実行
$ cat old.sql | sed "s/\`from\` enum('android','ios') DEFAULT NULL COMMENT ' '/\`from\` enum('android','ios','') DEFAULT NULL COMMENT ' '/" > new.sql
エラーメッセージ2013
[SQL] Query yzc_test_2 start
[ERR] 2013 - Lost connection to MySQL server during query
の原因となる
解決策
変数net_read_timeoutとnet_write_timeoutは、それぞれ30秒と60秒に設定されています.いいよcnfプロファイルでは、必要に応じて設定して変更します.そうだcnfがこれらの変更を行った後、MySQLを再起動する必要があります!!!
net_read_timeout = 120
net_write_timeout = 900
変更するとmy.cnf後、再起動したくない場合は、以下のSQLを実行します.
set global net_read_timeout = 120;
set global net_write_timeout = 900;
リファレンス
[1] Mysql Row_Formatパラメータ説明[DB|OL]https://www.cnblogs.com/bing-yu12/p/7735652.html[2]awk&sed入門(プログラマブルフィルタawkとストリームエディタsed)[DB|OL]https://blog.csdn.net/zhou16333/article/details/84234978#_226 [3] [DB|OL] https://blog.csdn.net/weixin_39561473/article/details/90213914