Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在模式生成器中更改列长度?_Database_Schema_Builder_Laravel_Alter - Fatal编程技术网

Database 在模式生成器中更改列长度?

Database 在模式生成器中更改列长度?,database,schema,builder,laravel,alter,Database,Schema,Builder,Laravel,Alter,我有两个字段需要增加字符限制。我仔细阅读了这些文档,但令我惊讶的是,我没有找到任何选项。有可能吗?如果没有,我应该如何着手解决这个问题 我可以删除该列并使用正确的属性重新创建它,但我不想丢失数据库中的任何数据。使用: 替换mytable,mycolumn,新长度和旧长度 对于Laravel 5+而言,如果列名是系统的关键字,则将DB::query替换为DB::statement使用``作为列名。否则您将得到“语法错误或访问冲突” 适用于Laravel 4 DB::update('ALTER TA

我有两个字段需要增加字符限制。我仔细阅读了这些文档,但令我惊讶的是,我没有找到任何选项。有可能吗?如果没有,我应该如何着手解决这个问题

我可以删除该列并使用正确的属性重新创建它,但我不想丢失数据库中的任何数据。

使用:

替换
mytable
mycolumn
新长度
旧长度


对于Laravel 5+而言,如果列名是系统的关键字,则将
DB::query
替换为
DB::statement

使用``作为列名。否则您将得到“语法错误或访问冲突”


适用于Laravel 4

DB::update('ALTER TABLE `my_table` MODIFY `my_column` VARCHAR(<new length>)');
DB::update('ALTER TABLE`my_TABLE`MODIFY`my_column`VARCHAR()');

对于Laravel 5:

Schema::table('users', function($table)
{
    $table->string('name', 50)->change();
});

查看更多信息。

我是新来的拉威尔4号。。。如何运行更新任务?在Laravel 5.1中,我必须将DB::query更改为DB::语句。我认为SQL命令用大写,表名和列名用小写更容易接受。
DB::update('ALTER TABLE `my_table` MODIFY `my_column` VARCHAR(<new length>)');
Schema::table('users', function($table)
{
    $table->string('name', 50)->change();
});