首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Insert with子句Nodejs查询字符串

Insert with子句Nodejs查询字符串
EN

Stack Overflow用户
提问于 2015-06-11 11:12:38
回答 1查看 1K关注 0票数 0

我有以下查询:

代码语言:javascript
复制
var query2 = "INSERT INTO abonnement (type_carte,type_demande,type_abonnement,classe,date_validite,gare_depart,gare_arrivee,id_client) VALUES ('"+t_carte+"','"+t_demande+"','"+t_abonnement+"','"+classe+"','"+date_validite+"','"+g_depart+"','"+g_arrive+"','SELECT id_client from client WHERE id_client=8')";

但是,当我执行它时,我会收到以下错误:

mysql错误:不正确的整数值:‘从客户端选择id_client,其中id_client =8;

id_client是来自表客户端的foreign key

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-11 11:45:43

对于id_client字段,您必须将select语句的put传递出去,而不是将语句本身作为‘字符串文本’传递出去。删除周围的单引号,只需插入括号即可。

代码语言:javascript
复制
 var query2 =
  "INSERT INTO abonnement (type_carte, type_demande, type_abonnement
                         , classe, date_validite, gare_depart
                         , gare_arrivee, id_client)
   VALUES ( '" + t_carte + "','" + t_demande + "','" 
               + t_abonnement + "','" + classe + "','" 
               + date_validite + "','" + g_depart + "','" 
               + g_arrive 
               + "', ( SELECT id_client FROM client 
                        WHERE id_client = 8 LIMIT 1 )
          )";

我添加了LIMIT 1子句,因为如果语句返回多条记录,则查询将失败。

PS:当您已经知道id_client字段的值时,为什么要使用select id_client ... where id_client=8 ...语句?您可以直接输入'8'来代替这个不必要的语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30779194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档