duanan1946 2015-12-03 06:19
浏览 40
已采纳

如何使自动增量列非自动增量?

I am trying to create a table with this code.

public function up()
{
    Schema::create('BookInfo', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('bookId',11);
        $table->string('Name',255);
        $table->string('Publisher')->nullable();
        $table->integer('Publishing_year',4)->nullable();
        $table->integer('Price',5)->nullable();
        $table->string('Language',30);
        $table->timestamps();
    });
}

When I tried php artisan migrate it shows me this error.

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; there can be only one auto column and it must be defined as a key (SQL: create table
BookInfo(bookIdint not null auto_increment primary key,Namevarchar(255) not null, Publishervarchar(255) null,Publishing_yearint null auto_increment primary key,Priceint null auto_increment primary key, Languagevarchar(30) not null,created_attimestamp default 0 not null,updated_attimestamp default 0 not null) default character set utf8 collate utf8_unicode_ci) and

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; there can be only one auto column and it must be defined as a key

It seems laravel takes all the integer columns as auto-increment.What happened here actually and what will be solution?

  • 写回答

2条回答 默认 最新

  • dsh102123 2015-12-03 06:44
    关注

    $table->integer('bookId',11); is not syntactically correct in Eloquent ORM(you can't set any size limit for integers) and that is causing the error in your case.

    And $table->increments('id'); automatically sets id as a primary key.

    Find all necessary table building commands in Eloquent ORM here: http://laravel.com/docs/4.2/schema#adding-columns

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程