【发布时间】:2021-01-10 15:37:16
【问题描述】:
当我想 php artisan migrate 时出现此错误。错误信息如下
Illuminate\Database\QueryExceptionSQLSTATE[42S01]:基表或视图已存在:1050 表 'users' 已经存在 (SQL: create table
users(idbigint unsigned not null auto_increment 主键,namevarchar(255) 不是 空,email_verified_at时间戳 空,passwordvarchar(255) 不空,remember_tokenvarchar(100) 空,created_at时间戳空,updated_at时间戳空) 默认字符集 utf8mb4 collate 'utf8mb4_unicode_ci')在 C:\composer\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:671 667▕ // 如果尝试运行查询时发生异常,我们将格式化错误 668▕ // 包含与 SQL 的绑定的消息,这将使该异常成为 669▕ // 对开发人员更有帮助,而不仅仅是数据库的错误。 670▕ catch (Exception $e) { ➜ 671▕ throw new QueryException( 672▕ $查询,$this->prepareBindings($bindings),$e 673▕); 674▕} 675▕
1
C:\composer\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:464 PDOException::("SQLSTATE[42S01]: 基表或视图已存在:1050 表 'users' 已存在")2
C:\composer\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:464 PDOStatement::execute()
和数据库设置如下。 Database.php文件中的设置如下
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
.env文件中的设置如下
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:sBKduFaKhOJdg7/A1U4IzAUnj3yLLcjngjmMvEoWl94=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
注意:我使用 mysql 作为 wampserver。
【问题讨论】:
-
Welcome to SO ..
1050 Table 'users' already exists"你能看到错误吗users已经退出所以无法再次创建,或者你可以尝试php artisan migrate:fresh -
我已经尝试过了,没有任何改变。一直报错
-
手动删除用户表
-
php artisan db:wipe(它会从 db 中删除所有表),然后 php artisan migrate