SQLAlchemy相交错误

时间:2018-08-21 03:40:42

标签: mysql sql sqlalchemy

user1 = User(username='john')

user2 = User(username='jim')

user1.intersect(user2).all()在使用MariaDB而非SQLite时引发错误。

这是错误:

sqlalchemy.exc.ProgrammingError:(_mysql_exceptions.ProgrammingError)(1064,“您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取在'INTERSECT SELECT user.id附近使用的正确语法AS user_id,user.username AS user_username,user.email'位于第4行”)[SQL:'SELECT anon_1.user_id AS anon_1_user_id,anon_1.user_username AS anon_1_user_username,anon_1.user_email AS anon_1_user_email,anon_1.user_password Anon_1_user_password AS anon_1_user_first_name,anon_1.user_last_name AS anon_1_user_last_name,anon_1.user_about_me AS anon_1_user_about_me,anon_1.user_last_seen AS anon_1_user_last_seen,anon_1.user_member_since AS anon_1_user_member_since,anon_1.user_last_message_read_time AS anon_1_user_last_message_read_time,anon_1.user_last_request_read_time AS anon_1_user_last_request_read_time \ n从(SELECT user.id AS USER_ID,用户。用户名AS user_username,user.email AS user_email,user.password AS user_pa ssword,user.first_name AS user_first_name,user.last_name AS user_last_name,user.about_me AS user_about_me,user.last_seen AS user_last_seen,user.member_since AS user_member_since,user.last_message_read_time AS user_last_message_read_re_time_re_time_re_time_request_re_time_re_time_request friendlys.user_id =%s AND friends.friend_id = user.id交叉选择user.id AS user_id,user.username AS user_username,user.email AS user_email,user.password AS user_password,user.first_name AS user_first_name,user.last_name AS user_last_name,user.about_me AS,user_about_me,user.last_seen AS,user_last_seen,user.member_since,AS user_member_since,user.last_message_read_time,AS user_last_message_read_time,user.last_request_read_time,AS user_last_requests_reads_times,\ nFROM用户。 .id)AS anon_1'] [parameters:(1、2)](此错误的背景位于:http://sqlalche.me/e/f405

1 个答案:

答案 0 :(得分:0)

MySQL不支持INTERSECT。 Sqlite可以。 MariaDB从version 10.3开始。

相关问题