这个问题在这里已经有答案了:
在mysql中何时使用单引号、双引号和反引号(13个答案)
11个月前关门了。
我似乎不明白为什么会出现这个错误,因为我使用的是percona server for mysql 8,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表
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'");
1条答案
按热度按时间5q4ezhmt1#
RANK
是mysql 8.0.2版的保留字。您需要使用反勾号引用此标识符: