我一直在尝试使用跨dbms数据库的迁移。使用entrust和confide包,我在它们之后添加了迁移,以添加user _ statuses表和users表中对用户状态id的引用;但是当我定义外键时,我得到了这个:
[Illuminate\Database\QueryException] Error Code : 2275 Error Message : ORA-02275: such a referential constraint already exists in the table Position : 53 Statement : alter table users add constraint users_state_foreign foreign key ( state ) references user_statuses ( id ) (SQL: alter table users add constraint users_state_foreign foreign key ( state ) references user_statuses ( id )) [yajra\Pdo\Oci8\Exceptions\SqlException] Error Code : 2275 Error Message : ORA-02275: such a referential constraint already exists in the table Position : 53 Statement : alter table users add constraint users_state_foreign foreign key ( state ) peferences user_statuses ( id )
下面是user_ Status和变更迁移。user_status创建:
Schema::create('user_statuses', function($table){
// Columns
$table->increments('id')->unsigned();
$table->string('name');
// Indexes
// Constraints
});
用户变更:
Schema::table('users',function($table){
// Columns
$table->integer('state')->unsigned();
$table->softDeletes();
// Indexed
// Constraints
$table->foreign('state')->references('id')->on('user_statuses');
});
我把外()
语句放在同一个文件中的另一个新的schma::table()
语句中,下面是创建列的语句:
Schema::table('users', function($table){
// Columns
$table->integer('kojak')->unsigned();
$table->softDeletes();
// Indexed
// Constraints
});
Schema::table('users', function($table){
$table->foreign('kojak')->references('id')->on('user_statuses');
});
这解决了我的问题,但问题仍然是为什么传统的代码不起作用。
此版本已修复https://github.com/yajra/laravel-oci8/tree/v1.5.11
请尝试或向我们的回购提交问题。
问题内容: 规格: Laravel版本:5.5.3 PHP版本:7.1 数据库驱动程序和版本:MariaDB 10.1.26 描述: 重现步骤: 问题 它创建用户表并给出错误,但不创建列表表 问题答案: 我通过更改我的create_users_table.php解决了自己的问题
我不知道问题是什么,由于某种原因,这两个表没有连接,我读了很多文章,尝试了很多仍然不起作用的东西。 我想把帖子和分类表链接在一起,这样当我可以显示帖子中选择的分类时。 类别 这是我得到的错误: SQLSTATE[42S01]:基表或视图已存在:1050个表“类别”已存在(SQL:create table(bigint unsigned not null auto\u auto\u incremen
我目前正在使用Symfony 4和Doctrine MongoDB捆绑包,遵循此链接中的说明:DoctrineMongoDBBundle。因此,我有一个用户文档: src/Document/UserDocument。php src/Repository/UserRepository。php src/Controller/Content。php 类内容扩展控制器 所以,在运行内容页面后,我得到了以下
创建的组织: 当我在这个组织中添加新医生时,一切都很好。应用程序正常工作,没有任何错误: 当我添加第二个医生时,我遇到了错误(错误堆栈如下所示): 错误实际上是这样的: 进程:ooper.java:193,PID:5505android.app.RuntimeException:无法启动活动ComponentInfo{hread.main}:hread.java:5292RealmExceptio
问题内容: 有没有办法给已经存在的约束命名? 例如 : 在上面的查询中,我没有命名外键约束,因此在创建表之后,我可以为其命名,也可以在不删除列的情况下删除外键约束吗? 问题答案: 是的,您可以像这样重命名约束: 编辑:我忘记了第二个问题。是的,您可以删除约束而不删除列。如果您不知道约束的名称,则可以在表中找到它,如下所示:
尝试在 Postgres 9.5 中更改表以创建外键约束时:从 到 返回错误 我很困惑为什么帖子试图找到,当密钥是从到 有什么想法吗?