Yos*_*sef 7 php mysql laravel laravel-5 laravel-5.3
我从来没有遇到这个错误,直到现在它发生在我运行php artisan migrate
我正在使用MySQL 5.6.34
我尝试了我能想到的一切):并且仍然没有运气我有一个类似的表这个并且工作正常但是对于一些原因,这曾经不起作用
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
to use near 'unsigned not null, `address_1` varchar(191) unsigned not null, `address_2` varch' at line 1
Run Code Online (Sandbox Code Playgroud)
这是我的迁移文件
public function up()
{
Schema::create('rmaRequests', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->string('reference_number')->unique();
$table->string('first_name');
$table->string('last_name');
$table->string('email');
$table->string('phone');
$table->string('fax');
$table->string('company');
$table->integer('marketplaceId')->unsigned();
$table->string('order_number')->unsigned();
$table->string('address_1');
$table->string('address_2');
$table->string('city');
$table->string('state');
$table->string('zip');
$table->integer('returnTypeId')->unsigned();
$table->string('sku');
$table->string('qty');
$table->string('productName');
$table->text('comments');
$table->integer('status_id')->unsigned();
$table->string('replacement_tracking');
$table->string('return_tracking');
$table->string('rma_number');
$table->string('refund_number');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('rmaRequests');
}
Run Code Online (Sandbox Code Playgroud)
Wre*_*igh 13
我想这是因为你用unsigned的varchar?
这里:
$table->string('order_number')->unsigned();
Run Code Online (Sandbox Code Playgroud)
unsigned()Laravel描述中的方法:
将
integer列设置为UNSIGNED
有关详细信息,请访问:https://laravel.com/docs/5.4/migrations#column-modifiers