这是一个全新的laravel应用程序,我正在使用它学习。没有当前表,因为这将是新的/第一次迁移。为什么它会给我这个错误:
SQLSTATE[42S21]:列已经存在: 1060重复的列名标题(SQL:创建表类别
(id
bigint无符号非空auto_increment主键,title
varchar(255)非空,细节
varchar(300)不为空,图像
varchar(255)不为空,标题
varchar(255)不为空,created_at
时间戳为空,updated_at
时间戳为空)默认字符集utf8mb4排序'utf8mb4_unicode_ci')
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateCategoriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('detail', 300);
$table->string('image');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('categories');
}
}
固定的出于某种原因,我所要做的就是将“细节”从字符串更改为文本,如下所示:
$table->string('detail', 300)
到
$table->text('detail', 300)
我不明白为什么这行得通,但它做到了。
如果您已经更新了原始的表迁移为类别
表然后你需要要么添加参数新鲜到您的php artisan迁移
命令如下:
php artisan migrate:refresh
请注意,这将从数据库中删除所有数据。
如果你不喜欢这个方法,那么添加Change()
添加细节
字段的结尾:
$table->string('detail', 300)->change();
问题内容: 为什么我得到#1060-重复的列名’id’ 问题答案: 可能是因为中的 从和中选择了两个名称相同的列。
我一直在尝试将我的数据库从MySql迁移到Postgres,但我遇到了一个大问题,似乎找不到解决方法。 现在,在我访问数据库并获取数据的C#代码中,我向数据库发送以下查询: 我试着在列名周围没有引号的情况下查询它,但这只会让我得到 我的一个朋友暗示会发生这种情况,因为Postgres让引号之外的所有内容都是小写的,但我们又回到了另一个问题。 我是Postgres的新手,我正在努力学习这一点,但这是
我正在运行一个简单的select查询: 并得到以下错误: 错误:列return_part_i.cntrctrmntnind不存在第1行:从return_part_i.cntrctrmntnind中选择return_part_i.cntrctrmntnind…^提示:也许你想引用“return_part_i.cntrctrmntnind”一栏。SQL状态:42703字符:8 我尝试了使用和不使用表标
有没有可能以新的顺序生成一个已经存在的列表(例如,用名字填充)? 因此,列表填充如下: 现在列表中的第一个是“Player0”。 现在是否可以使用新的随机数开始此列表?所以就像下面的例子: 变成 因此,列表的顺序应该保持不变,只应更改列表中的第一个(当然还有所有后续的) 我希望你明白我的意思。
我还尝试了以下操作: 同样,在我运行脚本之后,不会出现。我只有前两个字段名;第三个不停地掉下来。我该怎么解决这个?
我找不到任何关于以下三种获取列名列表的方法中的一种比其他方法更好的资料。第一个也是最简单的,似乎适用于我当前的示例。有什么理由我不应该用它吗? 更新 此处提供与性能相关的答案:https://stackoverflow.com/A/27236748/605328