gpt4 book ai didi

mysql - Mysql 问题和使用最后插入 ID 的函数

转载 作者:行者123 更新时间:2023-11-29 01:12:44 25 4
gpt4 key购买 nike

当我运行查询时出现此错误

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 'select last_insert_id() as productid' at line 3

NativeErrorCode number 1064

查询错误字符串:

insert into products (systemname, systemversion, created_date) 
values ('web andrea', '', now()); select last_insert_id() as productid;

数据库名称字符串 MySQL

数据库版本字符串 5.6.10-log

DriverName string MySQL-AB JDBC Driver

insert into products (systemname, systemversion, created_date) values ('web andrea', '', now()); select last_insert_id() as productid;

我希望数据能够插入,但在这里失败了。

提前致谢

安德里亚

最佳答案

除了@GMB 的评论外,它出错的原因是出于安全原因默认情况下不允许使用多个语句 - 以防止 sql 注入(inject)。它们可以通过 adding allowMultiQueries=true to the DSN settings 启用.但是,请确保所有查询都使用 cfqueryparam 来防止 sql 注入(inject)。

话虽如此,您既不需要 last_insert_id() 也不需要多个语句。相反,使用 cfquery's "result" attribute .插入后,CF 用新记录 ID 填充变量 yourResultName.GENERATEDKEY

<cfquery result="yourResultName" datasource="yourDSN">
insert into products (systemname, systemversion, created_date)
values (
<cfqueryparam value="web andrea" cfsqltype="cf_sql_varchar">
, <cfqueryparam value="" cfsqltype="cf_sql_varchar">
, now()
)
</cfquery>

<!--- DEMO --->
<cfoutput>
New ID (yourResultName.GENERATEDKEY) = #yourResultName.GENERATEDKEY#
</cfoutput>

关于mysql - Mysql 问题和使用最后插入 ID 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54426073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com