如果我用python运行查询,它会返回语法错误。
但是,如果我用navicat运行这个程序,就可以了。
为什么不在python中运行呢?
sql查询
INSERT INTO
solarsystem
(
solarsystemName,
solarsystemPositionX,
solarsystemPositionY,
solarsystemSectorId,
solarsystemAngle
)
VALUES
('Lima [698/562]',698,562,13,171);
SELECT LAST_INSERT_ID();
错误
1064,u“您的sql语法有错误;在“select last\u insert\u id()”附近,查看与mysql服务器版本对应的手册,以获取正确的语法
[编辑]
创建.py
[...]
args = (solarsytem['solarsystemName'], solarsytem['x_pos'], solarsytem['y_pos'],
solarsytem['sector_id'], solarsytem['angle'])
with self.engine.begin() as connection:
result_proxy = connection.execute(sql_query, args).first()
[...]
更新
如果我试一下 INSERT
作为单个查询,这是有效的。
然而, SELECT LAST_INSERT_ID();
没用。它返回:
typeerror:不是所有参数都在字符串格式化期间转换
1条答案
按热度按时间7y4bm7vi1#
在连接上执行此操作以获取插入到游标对象上的最后一行id,
你可以用
或者如果您有光标:
编辑
对于sqlalchemy,您可以使用:
你的身份证就在里面了
last_id
但是你必须把这个SELECT LAST_INSERT_ID();
从sql查询