SET @UserID_In = 1;
Select * FROM EarnedTransaction AS ETMain WHERE ETMain.UserID = @UserID_In
AND ETMain.ID = (SELECT MAX(ID) FROM EarnedTransaction AS ETSub WHERE ETSub.UserID =
ETMain.UserID AND ETSub.TransactionType = 'Buying' AND ETSub.CompleteDate IS NULL)
AND ETMain.ID = (SELECT MAX(ID) FROM EarnedTransaction AS ETSub WHERE ETSub.UserID =
ETMain.UserID);
返回34 15 Buying 1500 14281-09-29 10:09:55
MySQL的SELECT語句的作品,但不會刪除
但:
SET @UserID_In = 1;
Delete FROM EarnedTransaction AS ETMain WHERE ETMain.UserID = @UserID_In
AND ETMain.ID = (SELECT MAX(ID) FROM EarnedTransaction AS ETSub WHERE ETSub.UserID =
ETMain.UserID AND ETSub.TransactionType = 'Buying' AND ETSub.CompleteDate IS NULL)
AND ETMain.ID = (SELECT MAX(ID) FROM EarnedTransaction AS ETSub WHERE ETSub.UserID =
ETMain.UserID);
返回: [Err] 1064 - You have an error in your SQL syntax;
檢查對應於您的MySQL服務器版本附近AS ETMain WHERE ETMain.UserID = @UserID_In AND ETMain.ID = (SELECT MAX(ID)
使用正確的語法手冊在第1行
CREATE TABLE'EarnedTransaction'( 'ID' INT(11)NOT NULL AUTO_INCREMENT, 'Points'十進制(8,2)NOT NULL, 'TransactionType'文本COLLATE utf8_bin NOT NULL, 'Amount'十進制( 10,2)NOT NULL, 'LogNo'文本COLLATE utf8_bin NOT NULL, 'UserID' INT(11)NOT NULL, 'CreatedDate'時間戳NOT NULL DEFAULT CURRENT_TIMESTAMP, 'CompleteDate'日期時間DEFAULT NULL, PRIMARY KEY( 'ID') )ENGINE = MyISAM AUTO_INCREMENT = 41 DEFAULT CHARSET = utf8 COLLATE = utf8_bin; – 2014-09-29 09:22:12
刪除不支持別名。 - > http://bugs.mysql.com/bug.php?id=12811 – 2014-09-29 09:22:30