这是我的代码
Schema::create('employees', function (Blueprint $table) {
$table->id();
$table->string('first_name');
$table->text('second_name');
$table->string('emp_company')->unsigned();
$table->string('email');
$table->string('phone');
$table->timestamps();
$table->foreign('emp_company')->references('company_name')->on('companies');
});
这是我的错误:
SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有一个错误;请参见语法。在第1行上,检查与您的MariaDB服务器版本相对应的手册,以在'unsigned not null,email
varchar(255)not null,phone
varchar(255)not null'附近使用正确的语法。 (SQL:创建表employees
(id
bigint unsigned not null auto_increment主键,first_name
varchar(255)不为空,second_name
文本不为空,emp_company
varchar(255)unsigned not null,email
varchar(255)not null,phone
varchar(255)not null,created_at
timestamp null,updated_at
timestamp null)默认字符设置utf8mb4整理'utf8mb4_unicode_ci')
我坚持这个..寻找上 谢谢。
答案 0 :(得分:0)
我认为您在这行中遇到的问题:
$table->string('emp_company')->unsigned();
unsigned仅用于数字列,仅强制使用正数, 字符串列没有UNSIGNED,这毫无意义
只需删除-> unsigned(),您的代码就可以工作....