Mysql:在创建表时,将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS'

Mysql:在创建表时,将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS',mysql,datetime,command-line,format,create-table,Mysql,Datetime,Command Line,Format,Create Table,在谷歌搜索之后,我找不到一种方法来创建一个新表,其中DATETIME列的默认格式设置为“DD-MM-YYYY HH:MM:SS” 我在一个教程中看到它是在phpmyadmin中完成的,因此我怀疑我可以通过命令行使用mysql,并在使用 CREATE TABLE () 提前感谢使用日期格式功能更改格式 SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y') SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablen

在谷歌搜索之后,我找不到一种方法来创建一个新表,其中DATETIME列的默认格式设置为“DD-MM-YYYY HH:MM:SS”

我在一个教程中看到它是在phpmyadmin中完成的,因此我怀疑我可以通过命令行使用mysql,并在使用

CREATE TABLE ()

提前感谢

使用日期格式功能更改格式

SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')

SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename

有关更多详细信息,请参阅

我非常确定您不能在mysql中更改日期时间格式。phpmyadmin设置可能正在应用自定义格式,因为它使用DATE_格式或php中的其他格式读取日期时间。不管数据库使用什么格式,都可以在应用程序中按您的意愿显示它


日期格式化是一项非常常见的任务。我通常喜欢将其抽象为国际化代码,或者,如果您不需要处理i18n,则将其抽象为通用的日期实用程序库。它有助于保持内容的一致性,并便于以后更改或添加i18n支持。

MySQL以“YYYY-MM-DD HH:MM:SS”格式检索和显示日期时间值。 这是来自mysql站点的。您只能存储此类型,但在需要显示时,可以使用多种时间格式函数之一对其进行更改

例如,其中一个函数是,可以这样使用:

SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename

不,你不能;只有在创建表时,datetime才会以默认格式存储,然后您可以使用“选择查询”中的显示格式来更改您想要的方式,但不能对表执行此操作;此外,您甚至无法更改此默认值

答案是一个服务器变量,它是未使用的

Dim x as date 

x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")
dr是datareader的变量

请尝试以下操作:

DATE NOT NULL FORMAT 'YYYY-MM-DD'

正如其他人所解释的,这是不可能的,但这里有一个替代解决方案,它需要一些调整,但它的工作方式类似于datetime列

我开始想,我怎样才能使格式化成为可能。我有个主意。那就扣动扳机吧?我的意思是,添加char类型的列,然后使用MySQL触发器更新该列。这就成功了!我做了一些关于触发器的研究,最后提出了以下问题:

CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
不能将TIMESTAMP或DATETIME用作列类型,因为它们有自己的格式,并且会自动更新


所以,这是你的替代时间戳或日期时间替代!希望这对我有所帮助,至少我很高兴我能做到这一点。

我使用了以下代码行&它工作得很好,谢谢@萨西德哈兰 **

从tablename中选择日期格式列名称“%d/%m/%Y”


**

我不认为在创建表时您可以更改格式谢谢您的回答,我了解了DATE_FORMAT函数作为获取所需格式的一种方法。要使用PHP的DATE函数获取当前日期时间,请使用dateY-m-d H:I:s。这个想法真是太棒了!但是,如果要从文件中插入值呢?我的意思是,加载数据填充查询将如何工作?
CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');