2011-06-06 49 views
3

我有以下MySQL表的結構問題:Rails 3的應用程序 - 拯救整列的數據類型爲int(11)

+------------+----------+------+-----+---------+----------------+ 
| Field  | Type  | Null | Key | Default | Extra   | 
+------------+----------+------+-----+---------+----------------+ 
| id   | int(11) | NO | PRI | NULL | auto_increment | 
| reg  | int(11) | NO |  | NULL |    | 
| descr  | text  | YES |  | NULL |    | 
| created_at | datetime | YES |  | NULL |    | 
| updated_at | datetime | YES |  | NULL |    | 
+------------+----------+------+-----+---------+----------------+ 

而且隨着這種方式,我將數據保存到我的數據庫:

@saving = Table.new(:reg => 1234, :descr => params[:descr]).save 

而且我的問題是 - 我不知道它是如何可能的,但此查詢不將號碼保存到列「REG」。我收到此錯誤

Mysql2::Error: Column 'reg' cannot be null: INSERT INTO name_of_table (的updated_at , DESCR , REG , created_at ) VALUES ('2011-06-06 20:40:43', 'description of man', NULL, '2011-06-06 20:40:43')

我做了很多與PHP和MySQL數據庫,但這個錯誤我從來沒有...
在哪裏問題?

如果你看看你的架構
+0

在你的'Table'模型,你有'attr_accessible'地方?如果是這樣,請在其中添加':ref'。 – Mischa 2011-06-06 21:33:59

+0

如果我重新命名[B] REG [/ B]別的東西,還是同樣的錯誤。在我的模型中只有這樣: [b] attr_accessible:id,:reg_id( - 從reg更名),:descr [/ b] – user1946705 2011-06-06 21:39:57

+0

我發現問題是所有列(也在其他表中) ID(AUTO_INCREMENT) - >這是很奇怪的,我不知道什麼可能是錯誤的 – user1946705 2011-06-06 21:59:49

回答

0

,它說的默認模式:註冊爲NULL,,它不能爲空 - 這可能會導致你看到

的問題,你可以更改架構允許:reg爲NULL並再試一次?