在这个简单的两个表中我想在user_amounts_account.id
和CREATE TABLE IF NOT EXISTS `report_transactions` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`amount` int(11) NOT NULL,
`order_id` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`payment_order_id` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`token` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`reference_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`given_reference_id` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
`description` text COLLATE utf8_unicode_ci NOT NULL,
`redirect_url` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`type_result` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`result` tinyint(4) NOT NULL,
`customer_id` int(10) unsigned NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `report_transactions_customer_id_foreign` (`customer_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=232 ;
CREATE TABLE IF NOT EXISTS `amount_repositories` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`amount` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `amount_repositories_user_id_foreign` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `user_amounts_account` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`amount` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`type` tinyint(4) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
ALTER TABLE `amount_repositories`
ADD CONSTRAINT `amount_repositories_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `report_transactions` (`customer_id`);
ALTER TABLE `user_amounts_account`
ADD CONSTRAINT `user_amounts_account_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
ALTER TABLE `amount_repositories`
ADD CONSTRAINT `amount_repositories_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user_amounts_account` (`id`);
之间创建外键,但是我收到错误:
Mysql创建表:
#1005 - Can't create table 'test.#sql-4c2_403' (errno: 150) (Details…)
错误:
for (var i = 0; i < data.length; i++) {
$(
Response.Write(data[i].FirstName)
)
}
答案 0 :(得分:0)
一般来说,代码是这样的,
Schema::create('gigs', function($table)
{
$table->increments('gig_id');
$table->dateTime('gig_startdate');
$table->integer('band_id')->unsigned();
$table->integer('stage_id')->unsigned();
});
Schema::table('gigs', function($table)
{
$table->foreign('band_id')
->references('band_id')->on('bands')
->onDelete('cascade');
$table->foreign('stage_id')
->references('stage_id')->on('stages')
->onDelete('cascade');
});
答案 1 :(得分:0)
创建PHP类文件 create_user_amounts_account_table.php 并放置以下代码
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class UserAmountsAccount extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('UserAmountsAccount', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string('amount');
$table->boolean('type');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('UserAmountsAccount');
}
}
创建PHP类文件 create_amount_repositories_table.php 并放置以下代码
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AmountRepositories extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('AmountRepositories', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string('amount');
$table->timestamps();
$table->integer('user_id')->unsigned();
$table->foreign('user_id')
->references('id')
->on('user_amounts_account')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('AmountRepositories');
}
}
最后运行迁移。那就是它!