我使用以下方法在架构构建器中创建类型为ENUM
的数据库列:
$table->enum('status', array('new', 'active', 'disabled'));
我想将其默认值设为active
我试着这样做:
$table->enum('status', array('new', 'active', 'disabled'))->default('active');
但是你可以猜到它并没有设定它的默认值。我非常重视使用MySQL数据库。
答案 0 :(得分:13)
如果声明ENUM列允许NULL,则NULL值是列的合法值,默认值为NULL。如果ENUM列声明为NOT NULL,则其默认值是允许值列表中的第一个元素。
我假设这意味着您应该将'active'
设置为第一个值,移除default()
来电,并可能手动设置NULL
许可。
答案 1 :(得分:6)
使用它:
$table->enum('status',['new', 'active', 'disabled'])->default('active');
答案 2 :(得分:2)
我遇到了类似的问题,这对我有用:
$table->enum('status', array('active', 'new', 'disabled'));
将默认值作为数组中的第一个元素。 active
现在是默认值。