[英]Is it a bad idea to alter an ENUM column on a MySQL table with PHP via an HTML form?
假設我在表上有一個枚舉列,並且我希望用戶能夠通過使用PHP運行查詢來更改其包含的更多枚舉值的查詢,並通過前端通過HTML表單提交來擴展它包含的值的數量。對於那一欄。
是的,這是一個壞主意。 如果您需要列表可編輯,則它應該是一個引用表。 除了通常是不好的做法外,它還可能導致表的重新索引,這將對性能產生重大影響,尤其是在較大的表上。
正如Shrapnel上校所說,是的,這是一個壞主意。 除非您制作的應用程序專門用於管理數據庫,否則通常不允許您的應用程序以很少的例外方式以任何方式更改數據庫(因此,請隨時使用臨時表),這是不明智的做法。 在PHP中則是如此。 最直接的影響是,如果您修改了任何枚舉列表值,則使用該舊值的表中所有記錄中的該字段將被刪除。 從MySQL手冊的選擇報價...
An ENUM is a string object with a value chosen from a list of permitted values that are enumerated explicitly in the column specification at table creation time.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.