既然提到id這件事
沒人帶的本菜鳥就想借問一下相關的問題
可能也發生了很低能的錯誤
(PHP + MYSQL)
給大家笑笑
1.目前我手上的資料庫大多數table都用mysql的auto increment int來當id。
然後
因為目前table間的relationships
都是用php去取
(laravel的ORM)
而不是用sql的foreign key
直接delete單一會讓系統崩潰,網頁500。
所以我在有可能要刪除的table
都會加一個名為status的tinyinteger
來判斷這筆資料是不是被刪掉了
((想說日後可能可以做個資源回收桶之類的功能
目前公司沒有人會直接刪除資料
但如果之後有了
那我這種做法有什麼解套的方式嗎?
==================
2.方才提到大部分是increment integer
事實上有一個table的id是char
而且更糟糕的是這個id還兼當名稱使用
然後此id也被其他table用來建立關係
想請問各位大大
先前因為塞入的字串太大讓這個id
溢位
導致使用php的ORM建立的relationships時
直接觸發SQL Exception,讓系統掛掉
最後直接在前後端都設定名稱長度限制解決這個問題
除了這個情況之外
還有可能會遇到什麼問題?
是不是要想辦法修改資料庫的架構比較好
===================
3.最近公司想要做一個動態表單的功能
我發現MYSQL有json型態可以用
就大膽放心地把所有表單的內容全都塞到這個欄位中
測試下來沒遇到什麼大問題
請問這個是合理的做法嗎?
小的目前基本上是一人做前後端
畢業不滿一年,所以還真很多東西不知道
拜託各位給個意見,面對日後越來越多人用我真心怕自己踩到什麼雷