MySQL 简单查询错误
MySQL Simple Query Error
我是 MySQL 的新手,我在下面写了一个简单的查询:
CREATE Table tblFeedBack
(
`FeedBackID` INT AUTO_IncremeNT,
`UserID` INT,
`Inserted_TS` TIMESTAMP ,
`FeedBackValue` VARCHAR(100),
PRIMARY KEY (FeedBackID)
);
CREATE PROCEDURE tblFeedBack_InsertUpdate
(
IN U_ID INT,
IN FB_Value VARCHAR(50)
)
BEGIN
IF ((Select COUNT(*) From 'tblFeedback') < 3)
BEGIN
INSERT INTO 'tblFeedBack' (`UserID`,`FeedBackValue`)
VALUES (U_ID,FB_Value);
END
ELSE
BEGIN
DECLARE @MostRecentFID INT;
SELECT TOP 1 `FeedBackID` FROM tblFeedback
WHERE UID = U_ID
ORDER BY `Inserted_TS` DESC
INTO @MostRecentFID;
UPDATE tblfeedback
SET `FeedBackValue` = @FeedBackValue
WHERE `FeedBackID` = @MostRecentFID
END
END
我收到这个错误:
Schema Creation Failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tblFeedBack' (`UserID`,`FeedBackValue`) VALUES (1,'12')' at line 9
谁能帮我解决这个问题?
提前致谢。
table 名称在插入查询中不同。一个包含 'tblFeedback',另一个包含 'tblFeedBack'
此外,请尝试删除查询中 table 个姓名附近的单引号。
MySQL 不支持 TOP
您想要使用 LIMIT 1
代替,因为它们是订购的。
Select `FeedBackID` FROM tblFeedback
WHERE UID = U_ID
ORDER BY `Inserted_TS` DESC
LIMIT 1
INTO @MostRecentFID;
此外,当您使用引号查询 table 时,它会区分大小写。
IF ((Select COUNT(*) From 'tblFeedback') < 3)
应该是
IF ((Select COUNT(*) From 'tblFeedBack') < 3)
修正这 2 个错误,它应该可以工作。
我是 MySQL 的新手,我在下面写了一个简单的查询:
CREATE Table tblFeedBack
(
`FeedBackID` INT AUTO_IncremeNT,
`UserID` INT,
`Inserted_TS` TIMESTAMP ,
`FeedBackValue` VARCHAR(100),
PRIMARY KEY (FeedBackID)
);
CREATE PROCEDURE tblFeedBack_InsertUpdate
(
IN U_ID INT,
IN FB_Value VARCHAR(50)
)
BEGIN
IF ((Select COUNT(*) From 'tblFeedback') < 3)
BEGIN
INSERT INTO 'tblFeedBack' (`UserID`,`FeedBackValue`)
VALUES (U_ID,FB_Value);
END
ELSE
BEGIN
DECLARE @MostRecentFID INT;
SELECT TOP 1 `FeedBackID` FROM tblFeedback
WHERE UID = U_ID
ORDER BY `Inserted_TS` DESC
INTO @MostRecentFID;
UPDATE tblfeedback
SET `FeedBackValue` = @FeedBackValue
WHERE `FeedBackID` = @MostRecentFID
END
END
我收到这个错误:
Schema Creation Failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tblFeedBack' (`UserID`,`FeedBackValue`) VALUES (1,'12')' at line 9
谁能帮我解决这个问题? 提前致谢。
table 名称在插入查询中不同。一个包含 'tblFeedback',另一个包含 'tblFeedBack'
此外,请尝试删除查询中 table 个姓名附近的单引号。
MySQL 不支持 TOP
您想要使用 LIMIT 1
代替,因为它们是订购的。
Select `FeedBackID` FROM tblFeedback
WHERE UID = U_ID
ORDER BY `Inserted_TS` DESC
LIMIT 1
INTO @MostRecentFID;
此外,当您使用引号查询 table 时,它会区分大小写。
IF ((Select COUNT(*) From 'tblFeedback') < 3)
应该是
IF ((Select COUNT(*) From 'tblFeedBack') < 3)
修正这 2 个错误,它应该可以工作。