MYSQL中,用INSERT插入数据时,日期如何写?

假设列名CTime 类型为datetime
请问想插入一个时间(2012-06-29 15:30:21)该怎么样写?
我知道插入服务器时间是now(),插入自定时间是什么?

想必是做浏览器类型web程序,你应该在更新的jsp网页里,先合成时间字符串,比如:“
2012-06-29 15:30:21” 。然后:
<%

//连接数据库
Class.forName("org.gjt.mm.mysql.Driver");

String url="jdbc:mysql://localhost:3306/jxkh?user=root&password=123"; //这句的数据库名称、用户名和密码改成你自己的。

Connection conn = DriverManager.getConnection(url);

Statement stmt=conn.createStatement();
request.setCharacterEncoding("gbk");
String myTime = “2012-06-29 15:30:21”;

PreparedStatement pstmt=null;

String sql2 = "insert into user (CTime) values (?);

pstmt=conn.prepareStatement(sql2);
pstmt.setString(1,myTime);

pstmt.executeUpdate();
pstmt.close();

//添加后转到其他页面

response.sendRedirect("result.jsp");

%>追问

jsp看不懂啊,可以用PHP或MYSQL直接语句也行。

追答

可以,直接写sql语句吧:
先要有你要更新的时间变量:String myTime = “2012-06-29 15:30:12”;
sql语句:“update myTable set CTime = '2012-06-29 15:30:12' where id = " + ID;
ID是你要修改的数据记录的id号,这句这句中时间两边的单引号。这是最简单的写法了,实际应用中你要把2012-06-29 15:30:12 这个值作为一个变量加入到sql语句中。

追问

请问不能直接在命令行用
INSERT INTO TNAME (NAME,CTIME) VALUES ('TOM','2012-06-29 15:30:12')这种方式进行录入吗?

追答

可以,但是要在mysql的命令行中,另外要先运行:use 数据库名; set NAMES 'gbk'; 然后是这句插入语句。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-01
其实对于日期格式推荐你用时间戳形式来存储,这样一来方便你存入数据库,2来方便你调用,在调用的时候可以使用date函数,转化成任何你想要的形式
第2个回答  2012-07-01
想必是做浏览器类型web程序,你应该在更新的jsp网页里,先合成时间字符串,比如:“
2012-06-29 15:30:21” 。然后:
相似回答