为了账号安全,请及时绑定邮箱和手机立即绑定

迁移不会把“独特”放在我的桌子上

迁移不会把“独特”放在我的桌子上

PHP
哔哔one 2022-07-16 16:52:26
我正在尝试通过这样做来修改现有迁移:c:\wamp64\www\urlshortner>php artisan make:migration add_unique_to_shortened_on_urls_table_--table=urls我在迁移文件中添加了这段代码:   public function up(){    Schema::table('urls', function (Blueprint $table) {        $table->unique('shortned');    });}我运行了 PHP artisan migrate 命令,但该字段在 MySQL 上不是“唯一的”你能帮我吗 ?  Illuminate\Database\QueryException  : SQLSTATE[42S21]: Column already exists: 1060 Nom du champ 'shortned' déjà utilisé (SQL: alter table `urls` add `shortned` varchar(255) not null)这是我收到的错误
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

首先安装doctrine/dbal依赖。对于那次运行composer require doctrine/dbal。然后像这样修改迁移

$table->string('shortned')->unique()->charset('')->collation('')->change();

然后运行php artisan migrate


查看完整回答
反对 回复 2022-07-16
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

那应该是

$table->string('shortned')->unique();


查看完整回答
反对 回复 2022-07-16
?
繁星coding

TA贡献1797条经验 获得超4个赞

我认为您的shortned表中已经有了具有重复值的数据。shortned所以首先从使用中删除所有数据Delete from shortned;。然后运行您的迁移。



查看完整回答
反对 回复 2022-07-16
  • 3 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号