質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

1420閲覧

date型のカラムのデフォルト値を今日にしたい

tarotarotarotar

総合スコア41

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

1グッド

1クリップ

投稿2021/09/16 03:53

rubyで開発をおこなっております。

date型のカラムのdefalt値を本日の日付にすることはできますでしょうか?

↓ マイグレーションファイル

ruby

1class AddColumnsToUser < ActiveRecord::Migration[6.0] 2 def change 3 add_column :users, :birthday, :date 4 end 5end

上記のようにUserテーブルにbirthdayカラムをdate型で追加したいと思っており、デフォルト値をレコードの作成日にしたいです。
年-月-日 ※時刻は必要ありません
ex: 2021-9-16

よろしくおねがいします!

shinoharat👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shinoharat

2021/09/16 05:15

データベースの種類とバージョンを教えてください。
tarotarotarotar

2021/09/16 05:35

mysqlを利用しております! mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.22 | +-----------+ 1 row in set (0.00 sec)
guest

回答1

0

ベストアンサー

MySQL 8.0.13 以降であれば、DEFAULT 句に式や関数を指定できます。

Rails では以下のように指定すれば認識してくれたはずです。

rb

1 add_column :users, :birthday, :date, default: -> { "(CURRENT_DATE)" }

投稿2021/09/16 06:37

編集2021/09/17 16:18
shinoharat

総合スコア1685

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tarotarotarotar

2021/09/16 07:05

ありがとうございます! 私のバージョンでは You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-09-16' at line 1 等のエラーが出てしまうため、もう少し後のバージョン出ないと厳しそうでしょうか?
shinoharat

2021/09/16 07:57

いえ、質問者さんの環境だと MySQL のバージョンが 8.0.22 になっているので、その点は問題ないと思います。 "(CURRENT_DATE)" のように括弧で囲うとどうなりますか?
tarotarotarotar

2021/09/17 07:01

正常に本日の日付を格納できました!本当に感謝です。 もしよろければなのですが、なぜカッコで囲むと動作するのでしょうか??
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問