Php SQLSTATE[42000]:语法错误或访问冲突:1075不正确的表定义;只能有一个自动列,必须将其定义为键
运行后Php SQLSTATE[42000]:语法错误或访问冲突:1075不正确的表定义;只能有一个自动列,必须将其定义为键,php,mysql,laravel,Php,Mysql,Laravel,运行后php artisan迁移 [Illumb\Database\QueryException]SQLSTATE[42000]:语法错误 或访问冲突:1075不正确的表定义;可能有 只有一个自动共列,必须将其定义为键(SQL:create 表jadwal_praks(idint unsigned not null auto_increment 主键,thnajrn\u idint无符号非空自动增量主键 键,prak\u idint无符号非空自动增量主键, hari\u idint无符号非空自动
php artisan迁移
[Illumb\Database\QueryException]SQLSTATE[42000]:语法错误
或访问冲突:1075不正确的表定义;可能有
只有一个自动共列,必须将其定义为键(SQL:create
表jadwal_praks
(id
int unsigned not null auto_increment主键,
thnajrn\u id
int无符号非空自动增量主键
键,prak\u id
int无符号非空自动增量主键,
hari\u id
int无符号非空自动增量主键,jam\u id
int无符号非numl自动递增主键,ruang\u id
int
无符号非空自动递增主键,kap\u id
int无符号非空自动递增主键,在时间戳为空时创建,
updated_at
timestamp null,memory_token
v archar(100)null)
默认字符集(utf8对比utf8\U unicode\U ci)
还有这个
[PDOException]SQLSTATE[42000]:语法错误或访问冲突:
1075表格定义不正确;只能有一个自动列和
必须将其定义为密钥
根据我的观察,我认为您应该删除添加到外部字段的
默认值(例如):
致:
PS:有过类似的经验,我知道目前我在Laravel 5.2中的一个项目中也能做到这一点*
希望这有帮助:)当您使用$table->integer('thnajrn_id',10)->unsigned()
;这意味着您将第二个参数设置为true,表示自动增量
试试看
$table->integer('thnajrn_id')->unsigned();
当您使用$table->unsignedbiginger('account_id')->nullable()时
您仍然可以得到相同的错误,因为nullable()
生成的默认值也会产生相同的错误。因此,请始终将外键保留为空,无论是null
还是default(0)
$table->integer('thnajrn_id', 10)->unsigned();
$table->integer('thnajrn_id')->unsigned();
table->integer('thnajrn_id')->length(10)->unsigned();