Laravel5的数据库表建立问题
May 14, 2018 am 10:27 AM我跟着@JellyBool的视频学习。
在CMD命令行上运行了下面的命令。
php artisan make:migration create_articles_table --create=articles
然后在 2015_10_23_022143_create_articles_table.php 中书写了下面的代码
public function up() { Schema::create('articles', function (Blueprint $table) { $table->increments('id'); $table->string('title'); $table->text('content'); $table->timestamps('published_at'); $table->timestamps(); }); }
接着在CMD上运行就弹出错误了,数据库里也没有显示articles
表,是哪个地方出现了字段重复?
D:\laravel>php artisan migrate [Illuminate\Database\QueryException] SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'created _at' (SQL: create table `articles` (`id` int unsigned not null auto_increme nt primary key, `title` varchar(255) not null, `content` text not null, `cr eated_at` timestamp default 0 not null, `updated_at` timestamp default 0 no t null, `created_at` timestamp default 0 not null, `updated_at` timestamp d efault 0 not null) default character set utf8 collate utf8_unicode_ci) [PDOException] SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'created _at'
回复内容:
我跟着@JellyBool的视频学习。
在CMD命令行上运行了下面的命令。
php artisan make:migration create_articles_table --create=articles
然后在 2015_10_23_022143_create_articles_table.php 中书写了下面的代码
public function up() { Schema::create('articles', function (Blueprint $table) { $table->increments('id'); $table->string('title'); $table->text('content'); $table->timestamps('published_at'); $table->timestamps(); }); }
接着在CMD上运行就弹出错误了,数据库里也没有显示articles
表,是哪个地方出现了字段重复?
D:\laravel>php artisan migrate [Illuminate\Database\QueryException] SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'created _at' (SQL: create table `articles` (`id` int unsigned not null auto_increme nt primary key, `title` varchar(255) not null, `content` text not null, `cr eated_at` timestamp default 0 not null, `updated_at` timestamp default 0 no t null, `created_at` timestamp default 0 not null, `updated_at` timestamp d efault 0 not null) default character set utf8 collate utf8_unicode_ci) [PDOException] SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'created _at'
好吧 终于发现了 是我的疏忽大意
$table->timestamps('published_at'); 应该改为 $table->timestamp('published_at');
timestamps()与timestamp()不同。前者是一个 Laravel 用来管理创建和修改作为created_at和updated_at TIMESTAMP列的方法。所以跟下面的方法重复了,导致出现字段重复的问题
楼主,我执行php artisan migrate
的时候就失败,你怎么可以执行成功
[PDOException]
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
sword: YES)
我用的5.1版本.evn文件修改如下:
DB_HOST=127.0.0.1
DB_DATABASE=homestead
DB_USERNAME=root
DB_PASSWORD=secret
执行上面呢句就报错

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
