嵌套MySQL选择错误

嵌套MySQL选择错误,mysql,sql,Mysql,Sql,我试图使下面的事务正常工作,但是在SELECT附近出现了一个mysql错误。我仔细检查了所有列名是否正确 错误消息 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在第2行的“插入文章(catid、内容、标题、关键字、isactive)”附近使用的正确语法 SQL START TRANSACTION; INSERT INTO articles (catid,content,title,keywords,isactive) (SELECT 1, pendingarticle

我试图使下面的事务正常工作,但是在SELECT附近出现了一个mysql错误。我仔细检查了所有列名是否正确

错误消息


您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在第2行的“插入文章(catid、内容、标题、关键字、isactive)”附近使用的正确语法

SQL

START TRANSACTION; 
INSERT INTO articles (catid,content,title,keywords,isactive) 
(SELECT 1, pendingarticles.content, pendingarticles.title, 
pendingarticles.keywords, 1 
FROM pendingarticles 
WHERE pendingarticles.id=1);
DELETE FROM pendingarticles WHERE id=1; 
COMMIT;
更新

代码本身可以工作。插入-选择部分和删除部分都可以。事务有问题。可能是因为
?或者我的数据库服务器无法执行事务?

您想要:

INSERT INTO articles (catid,content,title,keywords,isactive)  
SELECT 1,pendingarticles.content,pendingarticles.title,  
        pendingarticles.keywords,1  
FROM pendingarticles  
WHERE pendingarticles.id=1;  
DELETE FROM pendingarticles WHERE id=1; 
您提供的额外括号集不是必需的。

您需要:

INSERT INTO articles (catid,content,title,keywords,isactive)  
SELECT 1,pendingarticles.content,pendingarticles.title,  
        pendingarticles.keywords,1  
FROM pendingarticles  
WHERE pendingarticles.id=1;  
DELETE FROM pendingarticles WHERE id=1; 

您提供的额外括号集不是必需的。

我认为Select周围的括号不是必需的


我认为Select周围的括号是不必要的


MyISAM引擎不支持事务


要支持事务,您必须将引擎f.e.更改为InnoDB。

MyISAM引擎不支持事务


要支持事务,您必须将引擎f.e.更改为InnoDB。

错误说明了什么?您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解可在“插入到文章中”(catid、内容、标题、关键字、isactive)附近使用的正确语法(SELEC'在第2Did行,您忘记了
插入到表中(…)值(…);
?您是否尝试只运行select语句?它是否有效?我的lolcat说:“MyIZAM无法进入Transzactionz”错误说明了什么?您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解使用“插入到文章中(catid、内容、标题、关键字、isactive)”附近的正确语法(SELEC),在第2Did行您忘记了
插入到表中(…)值(…)
?您是否只尝试运行select语句?它是否有效?我的lolcat说:“MyIZAM不能转换为Transzactionz”我想您的意思是括号()这些是括号[]@Dukeling,但是那里的图像说括号是这些东西[]@Woot4Moo“括号…”(也称为括号…).底线是-你可以不称它们为括号,但这并不妨碍其他人在称它们为括号时的正确性。我想你的意思是括号()这些是括号[]@Dukeling,但那里的图片上说括号是这些东西[]@Woot4Moo“括号…”(也称为简单的括号…).底线是-你可以不叫他们方括号,但这并不能阻止其他人在叫他们方括号时的正确性。这是我的赢家!有人可以在回答之前先看清楚:DIt发现服务器不支持innoDB,所以我必须在没有此功能的情况下继续工作。谢谢你的帮助。下面是他是我的赢家!有人在回答问题之前能看得过眼:原来服务器不支持innoDB,所以我必须在没有这个功能的情况下继续工作。谢谢你的帮助。