我想使用php artisan migrate进行迁移,但出现了一个错误:
SQLSTATE[42S01]:基表或视图已存在:1050表“用户”已存在
因此,我很自然地想使用php artisan migrate:rollback
删除我的表,但我得到了:
没什么可回滚的。
搞什么鬼?它刚才说,users
表已经创建。我该怎么办?我可以用phpmyadmin删除表,但我想学习如何使用artisan。
谢谢你的帮助。
解决方案:
>> php artisan migrate:fresh
它将删除所有表并重新创建所有迁移。
在我的例子中,在定义了Schema::defaultStringLength(191)之后
boot()
方法中的code>未解决。因为数据库中的migrations
表为空。因此,解决方案是打开作曲家的修补程序
$ php artisan tinker
>>> Schema::drop('users')
>>> Schema::drop('password_resets')
>>> Schema::drop('orders')
>>> exit
php artisan migrate
下面是执行上述命令的结果
nishanth@localhost:~/Desktop/html/hutch$ php artisan migrate
在Connection.php第647行:SQLSTATE[42S01]:基表或视图已经存在:1050表用户已经存在(SQL:创建表用户
(id
int无符号不空auto_incr主键,name
varchar(255)not null,email
varchar(255)not n ull,密码
varchar(255)not null,remember_token
varchar(100)null,created_at
时间戳null,updated_at
时间戳null)默认字符集utf8mb4排序utf8mb4_unicode_ci)
在Connection.php第449行中:SQLSTATE[42S01]:基表或视图已存在:1050表'users'alre ady已存在
nishanth@localhost:~/Desktop/html/hutch$ php artisan migrate:rollback
Nothing to rollback.
nishanth@localhost:~/Desktop/html/hutch$ php artisan tinker
Psy Shell v0.8.17 (PHP 7.1.20-1+ubuntu16.04.1+deb.sury.org+1 — cli) by Justin Hileman
>>> Schema::drop('users')
=> null
>>> Schema::drop('password_resets')
=> null
>>> Schema::drop('orders')
=> null
>>> exit
Exit: Goodbye.
nishanth@localhost:~/Desktop/html/hutch$ php artisan migrate
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table
Migrating: 2018_08_18_071213_create_orders_table
Migrated: 2018_08_18_071213_create_orders_table
nishanth@localhost:~/Desktop/html/hutch$
如果方法down()
,也要定义它<否则,它就会显示出来
SQLSTATE[42S02]:找不到基表或视图: 1051未知表'XYZ. ABC'(SQL:删除表ABC
)
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('ABC');
}
当出现这个问题时,我将告诉你如何避免这个问题。最终,我只是使用phpmyadmin删除了表。
我看了一个关于Laravel的教程,我看到为了避免错误:
SQLSTATE[42000]:语法错误或访问冲突: 1071指定的密钥太长;最大密钥长度为767字节
我不得不添加使用light\Support\Facades\Schema
AppServiceProvider.php
和Schema::defaultStringLength(191)中的code>
boot()
函数中选择code>。但是我认为我可以在defaultStringLength(…)
中输入任何数字,所以我输入了255,但迁移不起作用。
按照教程中所说的去做,编写schma::defaultStringL长度(191);
。然后,您可以使用php artisan迁移
执行迁移,并且它应该正常工作。
我需要强制< code>[Setup]部分中的指令< code > CreateUninstallRegKey 仅在需要时为卸载创建注册表项。 例如,如果我设置了一个条件来创建卸载注册表项,则只有当条件为True时才能创建该项。否则,不得创建卸载注册表项。 如何在Inno设置中执行此操作? 更新问题 我写的代码是: 使用此代码,卸载注册表项始终在创建。(我写的代码应该是有问题。 如果 ISDone
WordPress有一个管理仪表板。在仪表板中,我们可以作为管理员添加新用户。我想在管理员添加新用户时在MySQL中创建一个表。例如,我创建了一个名为John Smith的用户,其用户名为user1;当我成功添加该用户时,将在名为user1的数据库中创建一个表。
我试图在插件激活时创建表,我尝试在类内创建相同的函数并从构造函数调用它,我尝试在类外调用它,最后我尝试创建另一个php文件来使用调用它,但没有成功 插件代码: installer.php 即使我把所有的东西都打对了,也没有任何东西能用
我刚开始使用hibernate,总是会遇到这样的错误: 错误:HHH000388:不成功:创建表用户(id bigint not null auto_increment,mail varchar(255),passwort varchar(255),primary key(id))错误:从存储引擎获取错误-1 这是我的映射类:
得到错误"表客户已经存在"当我试图创建一个表在H2内存数据库使用schema.sql.我使用的是Spring启动版本:2.5.4和以下是我的pom.xml.它的工作正常,如果我使用Spring启动版本:2.4.3 这是我的代码: 当我启动应用程序时,我收到以下错误。如何强制H2使用schema.sql创建表格? 原因:io。r2dbc。spi。R2dbcBadGrammarException:表“
Servlet controller.java: 执行时,我收到以下信息: myDb是我的数据库。admin、rescue、not null、varchar(750)、rescue是表名、COL的测试值。名称、空值或非空值、数据类型和主键。