1
我試圖從rails控制檯更新sqlite錶行(id,data columns)。所有模型屬性都在更新,但在更新模型的id屬性時,什麼都不會發生。id屬性在sqlite中不更新
irb(main):023:0> r = Person.find(4)
=> #<Person id: 4, data: "threeplusone">
irb(main):024:0> r.update_attributes({:id=>5})
=> true
irb(main):025:0> r.save
=> true
上面打印true但是當我檢查的SQLite數據庫ID沒有被更新到5
irb(main):026:0> r = Person.find(4)
=> #<Person id: 4, data: "threeplusone">
irb(main):027:0> r.update_attributes({:data=>'TRIplusone'})
=> true
irb(main):028:0> r.save
=> true
上面打印true和數據屬性更新好。
而且我的模型
class Person < ActiveRecord::Base
attr_accessor :id,:data
attr_accessible :id,:data
end
感謝您的幫助。
謝謝迪倫它的工作原理。我嘗試像這樣'r.connection.execute(「更新人員設置id = 5,其中id = 4」)' – rajkamal