为什么我得到 sql 错误 0 和 mysql 8?
why am i getting sql error 0 with mysql 8?
我似乎无法弄清楚为什么我会收到此错误我正在为 mysql 8 使用 percona 服务器,sql 模式设置为 sql_mode = "NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
这是我得到的错误 sql 错误 0 ?
MySQL: Invalid Query:
SELECT
Rank,
SpecialRank,
TotalRank,
DonationTime,
RankExpirationTime + INTERVAL 766 HOUR
FROM users_donor_ranks
WHERE UserID = '1' SQL error: 0 ()
我正在使用的 sql table
CREATE TABLE `users_donor_ranks` (
`UserID` int(10) NOT NULL DEFAULT '0',
`Rank` tinyint(2) NOT NULL DEFAULT '0',
`DonationTime` datetime DEFAULT NULL,
`Hidden` tinyint(2) NOT NULL DEFAULT '0',
`TotalRank` int(10) NOT NULL DEFAULT '0',
`SpecialRank` tinyint(2) DEFAULT '0',
`InvitesRecievedRank` tinyint(4) DEFAULT '0',
`RankExpirationTime` datetime DEFAULT NULL,
PRIMARY KEY (`UserID`),
KEY `DonationTime` (`DonationTime`),
KEY `SpecialRank` (`SpecialRank`),
KEY `Rank` (`Rank`),
KEY `TotalRank` (`TotalRank`)
) ENGINE=InnoDB CHARSET=utf8mb4;
我正在做的查询
G::$DB->query("
SELECT
Rank,
SpecialRank,
TotalRank,
DonationTime,
RankExpirationTime + INTERVAL 766 HOUR
FROM users_donor_ranks
WHERE UserID = '$UserID'");
RANK
是 MySQL 中的 a reserved word 开始版本 8.0.2。
您需要使用反引号引用此标识符:
SELECT
`Rank`,
SpecialRank,
TotalRank,
DonationTime,
RankExpirationTime + INTERVAL 766 HOUR
FROM users_donor_ranks
WHERE UserID = ?
我似乎无法弄清楚为什么我会收到此错误我正在为 mysql 8 使用 percona 服务器,sql 模式设置为 sql_mode = "NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
这是我得到的错误 sql 错误 0 ?
MySQL: Invalid Query:
SELECT
Rank,
SpecialRank,
TotalRank,
DonationTime,
RankExpirationTime + INTERVAL 766 HOUR
FROM users_donor_ranks
WHERE UserID = '1' SQL error: 0 ()
我正在使用的 sql table
CREATE TABLE `users_donor_ranks` (
`UserID` int(10) NOT NULL DEFAULT '0',
`Rank` tinyint(2) NOT NULL DEFAULT '0',
`DonationTime` datetime DEFAULT NULL,
`Hidden` tinyint(2) NOT NULL DEFAULT '0',
`TotalRank` int(10) NOT NULL DEFAULT '0',
`SpecialRank` tinyint(2) DEFAULT '0',
`InvitesRecievedRank` tinyint(4) DEFAULT '0',
`RankExpirationTime` datetime DEFAULT NULL,
PRIMARY KEY (`UserID`),
KEY `DonationTime` (`DonationTime`),
KEY `SpecialRank` (`SpecialRank`),
KEY `Rank` (`Rank`),
KEY `TotalRank` (`TotalRank`)
) ENGINE=InnoDB CHARSET=utf8mb4;
我正在做的查询
G::$DB->query("
SELECT
Rank,
SpecialRank,
TotalRank,
DonationTime,
RankExpirationTime + INTERVAL 766 HOUR
FROM users_donor_ranks
WHERE UserID = '$UserID'");
RANK
是 MySQL 中的 a reserved word 开始版本 8.0.2。
您需要使用反引号引用此标识符:
SELECT
`Rank`,
SpecialRank,
TotalRank,
DonationTime,
RankExpirationTime + INTERVAL 766 HOUR
FROM users_donor_ranks
WHERE UserID = ?