Halu_wimps
@Halu_wimps (シガラキ)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

SQLSTATE[HY000]: General error: 1364のえらーについて

解決したいこと

上記サイトを見ながらvoyagerを使って管理画面を作成したいです。
今管理者アカウントを追加するためのphp artisan voyager:admin admin@example.com --createをComposerに入力したところ下のエラーが出ました。
ネットで検索しても改善できなかったためご指摘やご教授を頂けたら幸いです!!

発生している問題・エラー

C:\xampp\htdocs\ex>php artisan voyager:admin admin@example.com --create

 Enter the admin name:
 > admin

 Enter admin password:
 >

 Confirm Password:
 >

Creating admin account

   Illuminate\Database\QueryException

  SQLSTATE[HY000]: General error: 1364 Field 'screen_name' doesn't have a default value (SQL: insert into `users` (`name`, `email`, `password`, `updated_at`, `created_at`) values (admin, admin@example.com, $2y$10$VILaG6Yzx1YRfowL6UBkn.ufLnbqyW.CrPT/ocvcdjRc38xH9pxx2, 2022-10-13 17:34:53, 2022-10-13 17:34:53))

  at C:\xampp\htdocs\ex\vendor\laravel\framework\src\Illuminate\Database\Connection.php:759
    755▕         // If an exception occurs when attempting to run a query, we'll format the error
    756▕         // message to include the bindings with SQL, which will make this exception a
    757▕         // lot more helpful to the developer instead of just the database's errors.
    758▕         catch (Exception $e) {
  ➜ 759▕             throw new QueryException(
    760▕                 $query, $this->prepareBindings($bindings), $e
    761▕             );
    762▕         }
    763▕     }

  1   C:\xampp\htdocs\ex\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDO\Exception.php:18
      Doctrine\DBAL\Driver\PDO\Exception::("SQLSTATE[HY000]: General error: 1364 Field 'screen_name' doesn't have a default value")

  2   C:\xampp\htdocs\ex\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php:119
      Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException))

関係あるかわかりませんが、アカウントのUser情報を登録しているDBのテーブルのSQLのINSERTです

INSERT INTO `users`(`id`, `role_id`, `screen_name`, `name`, `profile_image`, `email`, `avatar`, `email_verified_at`, `password`, `remember_token`, `settings`, `created_at`, `updated_at`)
 VALUES ('[value-1]','[value-2]','[value-3]','[value-4]','[value-5]','[value-6]','[value-7]','[value-8]','[value-9]','[value-10]','[value-11]','[value-12]','[value-13]')

他の方のQiitaの記事など見ましたが前に進めなかったためご教授いただきたいです

0

2Answer

こんにちは。
「発生している問題・エラー」の

SQLSTATE[HY000]: General error: 1364 Field 'screen_name' doesn't have a default value

(SQLSTATE[HY000]: 一般エラー: 1364 フィールド 'screen_name' に既定値がありません)
てことで、screen_nameはnull許容されていないのにinsertで指定していないよ、てことみたいですが、
usersテーブルにscreen_nameてご自身で入れられました?
特別、laravelにはデフォルトで入っていないフィールドのようですが。
「解決したいこと」で挙げられているページにもないですね。

0Like

Comments

  1. @Halu_wimps

    Questioner

    コメントしていただきありがとうございます!!

    簡易版SNSを勉強のため作成中でアカウント名表示のために最初にmigrationしました!

    ある程度簡易版SNSを作り終えてから管理画面に気づき記載ページを見ながら作成していました。

    このnull許容されていないと出た場合はMyAdminのDBのほうで何か設定変更をするべきなのでしょうか?
  2. ご丁寧にありがとうございます。
    そうですね。
    screen_nameをnullableにするので、私も知識が明るくないのですが、
    https://qiita.com/nakaji0210/items/7e5352bdb1dabd471cc7
    を見て、ご自身のscreen_nameのカラムに合わせて記述し実行すると良いかと思います。
  3. @Halu_wimps

    Questioner

    こちらこそご丁寧にありがとうございます!!!

    送っていただいたページをもとに行ったらエラーが解消されました!
    が、なぜかPHPMyAdminに接続ができなくなってしまったためこれを解消してから管理画面を完成させようと思います!!

    ありがとうございます!!

This answer has been deleted for violation of our Terms of Service.

Your answer might help someone💌