rails 4.34 mysql INSERT查询不起作用

时间:2016-09-09 07:07:05

标签: mysql ruby-on-rails

我的rails代码很简单(代码和sql输出改为使其通用)

Router.new(
:name => params[:data][:name],
:subid => params[:data][:subid],
:info => params[:data][:info],
:parent => @parent)

Rails生成INSERT sql

INSERT INTO `mydb` (`name`, `subid`, `info`, `parent_id`, `created_at`, `updated_at`)
VALUES (?, ?, ?, ?, ?, ?)  [["name", "myname"], ["subid", ""], ["info", ""], ["parent_id", 2], ["created_at", "2016-09-09 06:06:37"], ["updated_at", "2016-09-09 06:06:37"]]  

这是我得到的错误:

  

Mysql ::错误:不正确的整数值:''对于第1行的列'parent_id':INSERT INTO mydb(name,subid,info,parent_id,created_at,updated_at)VALUES(?,?,?,?,? ,?)

看起来mysql不喜欢这种类型的语法。我有5.6.32版。

当我将命令直接修改为“VALUES”时,值看起来很有用。有没有办法回到在“VALUES”中插入值的格式,或者无需重新创建INSERT语句即可使插入工作。

编辑:我认为这不是实际的SQL。有没有办法打印实际的SQL?

0 个答案:

没有答案