我正在嘗試通過這樣做來修改現(xiàn)有遷移: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'); });}我運(yùn)行了 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)這是我收到的錯(cuò)誤
3 回答
浮云間
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先安裝doctrine/dbal依賴。對(duì)于那次運(yùn)行composer require doctrine/dbal。然后像這樣修改遷移
$table->string('shortned')->unique()->charset('')->collation('')->change();然后運(yùn)行php artisan migrate
繁星coding
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
我認(rèn)為您的shortned表中已經(jīng)有了具有重復(fù)值的數(shù)據(jù)。shortned所以首先從使用中刪除所有數(shù)據(jù)Delete from shortned;。然后運(yùn)行您的遷移。
- 3 回答
- 0 關(guān)注
- 116 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
