Hướng dẫn mysql date default current date - ngày hiện tại mặc định của mysql

Câu hỏi khá thẳng về phía trước ở đây, tôi nghĩ rằng điều này sẽ hoạt động nhưng nó không. Tại sao không?

CREATE TABLE INVOICE(
   INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE
)

Đã hỏi ngày 9 tháng 12 năm 2013 lúc 0:18Dec 9, 2013 at 0:18

Hướng dẫn mysql date default current date - ngày hiện tại mặc định của mysql

2

Nó không hoạt động vì nó không được hỗ trợ

Điều khoản DEFAULT chỉ định giá trị mặc định cho một cột. Với một ngoại lệ, giá trị mặc định phải là một hằng số; Nó không thể là một chức năng hoặc một biểu thức. Điều này có nghĩa là, ví dụ, bạn không thể đặt mặc định cho cột ngày là giá trị của một hàm như NOW() hoặc CURRENT_DATE. Ngoại lệ là bạn có thể chỉ định

CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
0 là mặc định cho cột
CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
1

http://dev.mysql.com/doc/refman/5.5/en/create-table.html

Đã trả lời ngày 9 tháng 12 năm 2013 lúc 0:19Dec 9, 2013 at 0:19

Zerkmszerkmszerkms

245K67 Huy hiệu vàng430 Huy hiệu bạc532 Huy hiệu Đồng67 gold badges430 silver badges532 bronze badges

6

Theo tài liệu này, bắt đầu trong MySQL 8.0.13, bạn sẽ có thể chỉ định:

CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)

MySQL 8.0.13 đã được phát hành cho tính khả dụng chung vào tháng 10 năm 2018. Thông tin phát hành được đặt tại đây.

Đã trả lời ngày 6 tháng 8 năm 2018 lúc 13:56Aug 6, 2018 at 13:56

Amos longamos dàiAmos Long

74310 Huy hiệu bạc14 Huy hiệu đồng10 silver badges14 bronze badges

1

Khai báo cột ngày của bạn không phải là NULL, nhưng không có mặc định. Sau đó thêm trình kích hoạt này:

USE `ddb`;
DELIMITER $$
CREATE TRIGGER `default_date` BEFORE INSERT ON `dtable` FOR EACH ROW
if ( isnull(new.query_date) ) then
 set new.query_date=curdate();
end if;
$$
delimiter ;

Đã trả lời ngày 12 tháng 5 năm 2014 lúc 22:00May 12, 2014 at 22:00

user3630264user3630264user3630264

3813 Huy hiệu bạc3 Huy hiệu đồng3 silver badges3 bronze badges

1

Hiện tại từ

CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
2, bạn có thể đặt phần sau thành cột
CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
3:

Trong

CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
4, trong trường
CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
5 bên cạnh cột, viết:
CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
6

Nếu bạn chỉ đặt

CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
7, nó sẽ thất bại. Bạn cần thêm
CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
8 và
CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
9 ở đầu và cuối.

Đã trả lời ngày 2 tháng 6 năm 2020 lúc 8:53Jun 2, 2020 at 8:53

Hướng dẫn mysql date default current date - ngày hiện tại mặc định của mysql

t1ft1ft1f

2.9413 huy hiệu vàng31 Huy hiệu bạc57 Huy hiệu đồng3 gold badges31 silver badges57 bronze badges

8

create table the_easy_way(
  capture_ts DATETIME DEFAULT CURRENT_TIMESTAMP,
  capture_dt DATE AS (DATE(capture_ts))
)

(MySQL 5.7)

Đã trả lời ngày 31 tháng 3 năm 2018 lúc 20:42Mar 31, 2018 at 20:42

Hướng dẫn mysql date default current date - ngày hiện tại mặc định của mysql

Tôi có phiên bản mới nhất hiện tại của MySQL: 8.0.20

Vì vậy, tên bảng của tôi là truy cập, tên cột của tôi là cong.

alter table visit modify curdate date not null default (current_date);

Điều này viết giá trị ngày mặc định không có dấu thời gian.

Đã trả lời ngày 3 tháng 7 năm 2020 lúc 11:23Jul 3, 2020 at 11:23

2

----- 2016-07-04 MARIADB 10.2.1-Lưu ý phát hành------

Hỗ trợ mặc định với các biểu thức (MDEV-10134).

----- 2018-10-22 8.0.13 Tính khả dụng chung-------

MySQL hiện hỗ trợ việc sử dụng các biểu thức làm giá trị mặc định trong thông số kỹ thuật kiểu dữ liệu. Điều này bao gồm việc sử dụng các biểu thức làm giá trị mặc định cho các loại dữ liệu Blob, Text, hình học và JSON, mà trước đây không thể được gán các giá trị mặc định. Để biết chi tiết, xem Kiểu dữ liệu Giá trị mặc định.

Đã trả lời ngày 21 tháng 11 năm 2018 lúc 19:08Nov 21, 2018 at 19:08

Rick Jamesrick JamesRick James

Huy hiệu vàng 129K1111 gold badges124 silver badges209 bronze badges

Như câu trả lời khác ghi chú chính xác, bạn không thể sử dụng các hàm động làm giá trị mặc định. Bạn có thể sử dụng

CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
1 với thuộc tính
CREATE TABLE INVOICE(
    INVOICEDATE DATE DEFAULT (CURRENT_DATE)
)
0, nhưng điều này không phải lúc nào cũng có thể, ví dụ nếu bạn muốn giữ cả dấu thời gian sáng tạo và cập nhật và bạn cần cột ____11 duy nhất cho phép lần thứ hai.

Trong trường hợp này, sử dụng một kích hoạt thay thế.

Đã trả lời ngày 9 tháng 12 năm 2013 lúc 0:22Dec 9, 2013 at 0:22

Niels Keurentjesniels KeurentjesNiels Keurentjes

40,5K8 Huy hiệu vàng96 Huy hiệu bạc134 Huy hiệu đồng8 gold badges96 silver badges134 bronze badges

4

Tôi đã đến trang này với cùng một câu hỏi, nhưng nó đã làm việc cho tôi !, Chỉ nghĩ để cập nhật ở đây, có thể hữu ích cho một người sau này !!

MariaDB [niffdb]> desc invoice;
+---------+--------+------+-----+---------+----------------+
| Field   | Type   | Null | Key | Default | Extra          |
+---------+--------+------+-----+---------+----------------+
| inv_id  | int(4) | NO   | PRI | NULL    | auto_increment |
| cust_id | int(4) | NO   | MUL | NULL    |                |
| inv_dt  | date   | NO   |     | NULL    |                |
| smen_id | int(4) | NO   | MUL | NULL    |                |
+---------+--------+------+-----+---------+----------------+
4 rows in set (0.003 sec)

MariaDB [niffdb]> ALTER TABLE invoice MODIFY inv_dt DATE NOT NULL DEFAULT (CURRENT_DATE);
Query OK, 0 rows affected (0.003 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [niffdb]> desc invoice;
+---------+--------+------+-----+-----------+----------------+
| Field   | Type   | Null | Key | Default   | Extra          |
+---------+--------+------+-----+-----------+----------------+
| inv_id  | int(4) | NO   | PRI | NULL      | auto_increment |
| cust_id | int(4) | NO   | MUL | NULL      |                |
| inv_dt  | date   | NO   |     | curdate() |                |
| smen_id | int(4) | NO   | MUL | NULL      |                |
+---------+--------+------+-----+-----------+----------------+
4 rows in set (0.002 sec)

MariaDB [niffdb]> SELECT VERSION();
+---------------------------+
| VERSION()                 |
+---------------------------+
| 10.3.18-MariaDB-0+deb10u1 |
+---------------------------+
1 row in set (0.010 sec)

MariaDB [niffdb]>

Đã trả lời ngày 4 tháng 3 năm 2020 lúc 13:53Mar 4, 2020 at 13:53

Hướng dẫn mysql date default current date - ngày hiện tại mặc định của mysql

ArunarunArun

1.4413 Huy hiệu vàng17 Huy hiệu bạc 30 Huy hiệu Đồng3 gold badges17 silver badges30 bronze badges

1

Trong khi tạo bảng, bạn phải sử dụng hàm

USE `ddb`;
DELIMITER $$
CREATE TRIGGER `default_date` BEFORE INSERT ON `dtable` FOR EACH ROW
if ( isnull(new.query_date) ) then
 set new.query_date=curdate();
end if;
$$
delimiter ;
3 làm giá trị mặc định. Vui lòng xem ví dụ dưới đây tôi vừa thử nghiệm.

CREATE TABLE SALES_DATA (
    SALES_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    SALES_GIRL_ID INT UNSIGNED NOT NULL,
    SALES_DATE DATE NOT NULL DEFAULT (CURRENT_DATE()),
    TOTAL_SALES FLOAT(6, 2),
    PRIMARY KEY (SALES_ID),
    FOREIGN KEY (SALES_GIRL_ID) REFERENCES SALES_GIRLS(ID)
);

Đã trả lời ngày 24 tháng 4 lúc 18:11Apr 24 at 18:11

Ngày hiện tại là ngày MySQL?

Chỉ cần sử dụng hàm Curdate () để có được ngày hiện tại.Ngày có thể được hiển thị ở hai định dạng khác nhau: 'yyyy-mm-dd' nếu nó được sử dụng trong bối cảnh chuỗi hoặc yyyyMMDD nếu nó được sử dụng trong bối cảnh số.

Giá trị mặc định cho ngày trong MySQL là gì?

Đối với các loại số, mặc định là 0, ngoại trừ đối với các loại số nguyên hoặc dấu phẩy động được khai báo với thuộc tính auto_increment, mặc định là giá trị tiếp theo trong chuỗi.Đối với các loại ngày và thời gian khác ngoài dấu thời gian, mặc định là giá trị không phù hợp với loại.For date and time types other than TIMESTAMP , the default is the appropriate “zero” value for the type.

Bây giờ là gì () trong mysql?

Hàm bây giờ () trả về ngày và thời gian hiện tại.Lưu ý: Ngày và thời gian được trả về dưới dạng "Yyyy-MM-DD HH-MM-SS" (chuỗi) hoặc dưới dạng YYYyMMDDHHMMSS.uuuuuu (số).returns the current date and time. Note: The date and time is returned as "YYYY-MM-DD HH-MM-SS" (string) or as YYYYMMDDHHMMSS. uuuuuu (numeric).

Làm thế nào tôi có thể thay đổi ngày hiện tại trong mysql?

Định dạng ngày hiện tại là 'yyyy-mm-dd'.Để thay đổi định dạng ngày hiện tại, bạn có thể sử dụng date_format ().use date_format().