gpt4 book ai didi

mysql - 错误: ER_DATA_TOO_LONG: Data too long for column 'data' at row 1

转载 作者:行者123 更新时间:2023-11-29 10:15:03 25 4
gpt4 key购买 nike

下面有一个很长的 select 语句,当我运行它时,我在 Node 服务器上收到的错误数据太长,但是当我将其复制粘贴到 MySQL Workbench 中时,它工作正常。我该如何解决这个问题?

SELECT `199_roster`.`first`, `199_roster`.`last`, `199_roster`.`gender`, `199_roster`.`grade`, `199_results`.`ath_id`, `199_results`.`place`, `199_results`.`date`, `199_results`.`comment`, `199_results`.`100m Hurdles (F)`, `199_results`.`110m Hurdles (M)`, `199_results`.`100m Dash (F)`, `199_results`.`100m Dash (M)`, `199_results`.`1600m Run (F)`, `199_results`.`1600m Run (M)`, `199_results`.`4x100m Relay (F)`, `199_results`.`4x100m Relay (M)`, `199_results`.`400m Dash (F)`, `199_results`.`400m Dash (M)`, `199_results`.`200m Hurdles (F)`, `199_results`.`200m Hurdles (M)`, `199_results`.`800m Run (F)`, `199_results`.`800m Run (M)`, `199_results`.`200m Dash (F)`, `199_results`.`200m Dash (M)`, `199_results`.`4x400m Relay (F)`, `199_results`.`4x400m Relay (M)`, `199_results`.`High Jump (F)`, `199_results`.`High Jump (M)`, `199_results`.`Long Jump (F)`, `199_results`.`Long Jump (M)`, `199_results`.`Shot Put (F)`, `199_results`.`Shot Put (M)`, `199_results`.`Discus (F)`, `199_results`.`Discus (M)`, `199_results`.`Pole Vault (F)`, `199_results`.`Pole Vault (M)`, `199_results`.`3200m Run (M)`, `199_results`.`3200m Run (F)`, `199_results`.`300m Hurdles (M)`, `199_results`.`300m Hurdles (F)`, `199_results`.`4x800m Relay (M)`, `199_results`.`4x800m Relay (F)`, `199_results`.`100m Hurd. Trial (F)`, `199_results`.`110m Hurd. Trial (M)`, `199_results`.`100m Dash Trial (F)`, `199_results`.`100m Dash Trial (M)`, `199_results`.`200m Dash Trial (F)`, `199_results`.`200m Dash Trial (M)`, `199_results`.`400m Hurdles (F)`, `199_results`.`400m Hurdles (M)`, `199_results`.`2000m Steeplechase (F)`, `199_results`.`2000m Steeplechase (M)`, `199_results`.`3000m Steeplechase (F)`, `199_results`.`3000m Steeplechase (M)`, `199_results`.`1500m Run (F)`, `199_results`.`1500m Run (M)`, `199_results`.`3000m Run (F)`, `199_results`.`3000m Run (M)`, `199_results`.`5000m Run (F)`, `199_results`.`5000m Run (M)`, `199_results`.`10000m Run (F)`, `199_results`.`10000m Run (M)`, `199_results`.`Triple Jump (F)`, `199_results`.`Triple Jump (M)`, `199_results`.`Hammer Throw (F)`, `199_results`.`Hammer Throw (M)`, `199_results`.`Javelin Throw (F)`, `199_results`.`Javelin Throw (M)`, `199_results`.`Distance Medley Relay (F)`, `199_results`.`Distance Medley Relay (M)`, `199_results`.`Sprint Medley Relay (F)`, `199_results`.`Sprint Medley Relay (M)`, `199_results`.`4x200m Relay (F)`, `199_results`.`4x200m Relay (M)`, `199_results`.`4x1500m Relay (F)`, `199_results`.`4x1500m Relay (M)`, `199_results`.`4x1600m Relay (F)`, `199_results`.`4x1600m Relay (M)`, `199_results`.`Shuttle Hurdle Relay (F)`, `199_results`.`Shuttle Hurdle Relay (M)`, `199_results`.`60m Dash Trial (F)`, `199_results`.`60m Dash Trial (M)`, `199_results`.`60m Dash (F)`, `199_results`.`60m Dash (M)`, `199_results`.`60m Hurd. Trial (F)`, `199_results`.`60m Hurd. Trial (M)`, `199_results`.`60m Hurdles (F)`, `199_results`.`60m Hurdles (M)`, `199_results`.`50m Dash Trial (F)`, `199_results`.`50m Dash Trial (M)`, `199_results`.`50m Dash (F)`, `199_results`.`50m Dash (M)`, `199_results`.`50m Hurd. Trial (F)`, `199_results`.`50m Hurd. Trial (M)`, `199_results`.`50m Hurdles (F)`, `199_results`.`50m Hurdles (M)`, `199_results`.`55m Dash Trial (F)`, `199_results`.`55m Dash Trial (M)`, `199_results`.`55m Dash (F)`, `199_results`.`55m Dash (M)`, `199_results`.`55m Hurd. Trial (F)`, `199_results`.`55m Hurd. Trial (M)`, `199_results`.`55m Hurdles (F)`, `199_results`.`55m Hurdles (M)`, `199_results`.`100y Dash (F)`, `199_results`.`100y Dash (M)`, `199_results`.`Mile Run (F)`, `199_results`.`Mile Run (M)` FROM `199_results` INNER JOIN `199_roster` ON `199_roster`.`ath_id` = `199_results`.`ath_id` WHERE `199_results`.`date` BETWEEN '2018-04-01 00:00:01' AND '2018-05-08 23:59:59';

这是我进行查询的 .js 文件部分。 (通常我在客户端创建查询并动态发送它,但为了调试我将变量设置如下)

var fullQuery = "SELECT * FROM  `199_results` INNER JOIN `199_roster` ON `199_roster`.`ath_id` = `199_results`.`ath_id` WHERE `199_results`.`date` BETWEEN '2018-04-01 00:00:01' AND '2018-05-08 23:59:59';"

const db = require("../db");
db.query(fullQuery, (err, rows, fields) => {
if (err) {
res.render("results", {
title: "Results",
mysqlError: err.message
})
return console.error('stupid error', err)
} else {
req.session.results = rows;
res.send(rows)
}
})

以下是错误消息中的更多内容(如果有帮助的话):

Error: ER_DATA_TOO_LONG: Data too long for column 'data' at row 1 at Query.Sequence._packetToError (/root/site/node_modules/mysql/lib/protocol /sequences/Sequence.js:52:14) at Query.ErrorPacket (/root/site/node_modules/mysql/lib/protocol/sequences/Q uery.js:77:18) at Protocol._parsePacket (/root/site/node_modules/mysql/lib/protocol/Protoco l.js:279:23) at Parser.write (/root/site/node_modules/mysql/lib/protocol/Parser.js:76:12) at Protocol.write (/root/site/node_modules/mysql/lib/protocol/Protocol.js:39 :16) at Socket. (/root/site/node_modules/mysql/lib/Connection.js:103:2 8) at emitOne (events.js:116:13) at Socket.emit (events.js:211:7) at addChunk (_stream_readable.js:263:12) at readableAddChunk (_stream_readable.js:250:11) -------------------- at Pool.query (/root/site/node_modules/mysql/lib/Pool.js:199:23) at MySQLStore.set (/root/site/node_modules/express-mysql-session/index.js:19 9:19) at Session.save (/root/site/node_modules/express-session/session/session.js: 72:25) at Session.save (/root/site/node_modules/express-session/index.js:381:15) at ServerResponse.end (/root/site/node_modules/express-session/index.js:330: 21) at ServerResponse.send (/root/site/node_modules/express/lib/response.js:221: 10) at ServerResponse.json (/root/site/node_modules/express/lib/response.js:267: 15) at ServerResponse.send (/root/site/node_modules/express/lib/response.js:158: 21) at Query.db.query [as _callback] (/root/site/routes/resultsRouter.js:184:9) at Query.Sequence.end (/root/site/node_modules/mysql/lib/protocol/sequences/ Sequence.js:88:24)

最佳答案

问题似乎是 Node 异步问题(我应该早点意识到这一点)。

通过注释

else {
//req.session.results = rows;
res.send(rows)
}

现在一切工作正常,没有错误,一切都显示正确。 michael-sqlbot正确地看到这不是某种查询错误,如果我有足够的代表来这样做,我会投票。

关于mysql - 错误: ER_DATA_TOO_LONG: Data too long for column 'data' at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50244306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com