【问题标题】:Formatting DATE in MySQL table when creating database?创建数据库时在 MySQL 表中格式化 DATE?
【发布时间】:2021-04-16 04:02:38
【问题描述】:

每当我运行我的脚本时,我都会收到关于“日期值不正确:'07/10/2020'”的错误代码 1292。我一直在网上搜索如何格式化表格中的日期,所以当我构建数据库时,我可以从中提取日期,而无需将其从 YYYY/MM/DD 格式化为 MM/DD/YYYY。有没有办法做到这一点?

例如,我的桌子是这样的。

CREATE TABLE orders (
. . . .
order_date DATE
. . . .
)

我的 INSERT INTO 语句如下所示:

INSERT INTO orders (. . . order_date, . . .) VALUES
(. . .  '10/8/2010', . . .)

这是我收到的错误(粘贴在下面)。我猜是因为我的日期格式。我希望它按月-日-年显示,但我猜我必须使用 DATE 以外的东西来实现这一点?

Error Code: 1292. Incorrect date value: '10/8/2010' for column 'order_date' at row 1

另外,谁能解释一下 1452 错误是什么意思?直到现在我才看到它。

Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`autotires`.`order_details`, CONSTRAINT `fk_order_detail_order` FOREIGN KEY (`order_num`) REFERENCES `customer_orders` (`order_num`))

这是桌子。

CREATE TABLE order_details (
detail_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
order_num INT NOT NULL,
products_id VARCHAR(50) NOT NULL, 
quantity INT NOT NULL,
price DECIMAL(10,2) NOT NULL,
CONSTRAINT fk_order_detail_order FOREIGN KEY (order_num) REFERENCES customer_orders (order_num),
CONSTRAINT fk_order_detail_products FOREIGN KEY (products_id) REFERENCES products (id) );

INSERT INTO order_details (detail_id, . . . price) VALUES
('1', . . . ),
( . . . '7.25');

【问题讨论】:

  • "所以当我构建数据库时,我可以从中提取日期,而无需将其从 YYYY/MM/DD 格式化为 MM/DD/YYYY" - 不,始终使用日期类型存储日期,这需要 YYYY-MM-DD。如果你想在选择它们时格式化它们,很好,使用 date_format 函数
  • 不要在一个线程中问两个问题

标签: mysql database error-handling format


【解决方案1】:

mysql 的默认日期格式是 'YYYY-MM-DD'

【讨论】:

    猜你喜欢
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多