Re: [問題] ActiveRecord與ForeignKey

看板Ruby作者 (huge)時間16年前 (2008/11/09 16:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
<D> : 在刪除foreign key這段敘述後就能正常建立表格 : 本來以為是sql syntax generation出了問題,不過查了一下教科書 : 看不出來無法建立table 的原因究竟在 : FOREIGN KEY (creator_id) REFERENCES members (id) : ON UPDATE CASCADE ON DELETE SET NULL的哪部份 : 語法看起來應該是正確無誤,還請板上高手指點迷津了 總算是找到錯誤的真正原因 一開始還以為是MySQL5預設沒有開啟InnoDB (skip-innodb) 找了一整個晚上,竟然都不曉得怎麼在安裝MAMP的MAC OS上 發現對應my.ini的檔案 -_-b 結果發現錯誤原因不只是我定義了foreign key以 _id 結尾 還有對應的資料型態也不一致 感謝godfat的提示,在create table之後確實可以使用execute的 方法加入fkey 而我所引入的plugin則是會讓語法看起來比較整齊一些 t.column :creator_id , :int, :references => :members, :on_delete => :set_null, :on_update => :cascade creator_id 會去找creator table的id column,這是我第一個錯誤 所以必須在 :references => :members 指定是哪張table 而 :int 是我犯的第二個錯誤,資料型態不一致怎麼連結fkey XD 真是難為MySQL 了 囧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.143.228
文章代碼(AID): #195fdkrY (Ruby)
討論串 (同標題文章)
文章代碼(AID): #195fdkrY (Ruby)