You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10添加字段时抛出Illuminate\Database\QueryException异常求助

解决Laravel 10迁移students表新增字段时的QueryException问题

问题分析

报错核心原因是要新增的字段已存在于students表中,触发SQL的Duplicate column name错误,进而抛出Illuminate\Database\QueryException异常。

解决方案

方案1:调整迁移文件,移除重复字段

  1. 打开迁移文件2023_08_17_055949_update_student_table.php
  2. 检查up()方法内的字段新增代码,删除表中已存在的字段(比如报错提示的address字段)
  3. 重新执行迁移命令:
php artisan migrate

方案2:回滚迁移后重新调整

如果是刚执行错误迁移且无其他重要操作,先回滚最近一次迁移:

php artisan migrate:rollback

修改迁移文件确保新增字段为表中不存在的内容,再执行php artisan migrate。

方案3:先确认数据库表结构

通过数据库管理工具(如phpMyAdmin、Navicat)查看students表结构,明确已存在的字段,再针对性修改迁移文件的新增字段代码,避免重复创建。

额外优化建议

编写迁移时,可通过hasColumn()方法判断字段是否存在,避免重复创建:

public function up()
{
    Schema::table('students', function (Blueprint $table) {
        if (!Schema::hasColumn('students', 'address')) {
            $table->string('address')->nullable();
        }
        // 其他字段可同理添加判断
    });
}

内容的提问来源于stack exchange,提问作者Shiv Prasad jangir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:24:52