MySQL里时间字段设置为int后insert怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL里时间字段设置为int后insert怎么写相关的知识,希望对你有一定的参考价值。

mysql里时间字段设置为int后insert怎么写

参考技术A insert into (表名) (字段名) values(5);
就是说,5不用单引号引起来,就可以了本回答被提问者采纳
参考技术B 取当前时间戳存放,至于时间戳的获取可以从你所运用的语言中会有相应获取

时间戳的函数,或者用mysql中自带的unix_timestamp();

比如:

"insert into table (id,title,add_time) values

('','',unix_timestamp())";

执行即可,这里我得到的是默认是当前时间,当然你也可以指定时间,只需

要unix_timestamp()当中添加相应的时间格式即可,如

unix_timestamp('2008-08-08 12:30:00');
参考技术C 关键是你要插入的值怎么取,如果是写出来的如20100420那就直接插入可以,如果是从实时时间取,那需要转换一下,转换语句是这样的

(datepart(year,getdate())*100+datepart(month,getdate()))*100+datepart(day,getdate())

你可以在MYSQL中查询一下,看看是不是你要的结果

select (datepart(year,getdate())*100+datepart(month,getdate()))*100+datepart(day,getdate())
参考技术D $sql = "insert into table(name,age) values('$name',$age)";

$sql = "insert into table(name,age) values('".$name."',".$age.")";

两种写法....其实是一样的.Int字段只是不加那个单引号而已..

比如now() 插入时间 也是不加单引号的..
第5个回答  2020-06-19 首先第3个是因为你插入的列只有一个,而values有多个值,所以执行失败;
第4个也是一样的,第5个你那是单引号还是双引号,如果是双引号是没问题的,如果单引号的话,这个错误和前面是一样的,插入了多个值造成的。

mysql怎么在创建表时设置默认时间为系统时间

把字段的类型设置为 timestamp 类型,每次添加数据时不用手动添加,自动设为当前时间 参考技术A

由于MySQL目前字段的默认值不支持函数,所以以

create_time datetime default now()


的形式设置默认值是不可能的。

代替的方案是使用TIMESTAMP类型代替DATETIME类型。

TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。
如果有多个TIMESTAMP列,只有第一个自动更新。
自动更新第一个TIMESTAMP列在下列任何条件下发生:

    列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。

    列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)

    你明确地设定TIMESTAMP列为NULL.

    除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()

所以只能用

CREATE TABLE `table1` (
`id` int(11) NOT NULL,
`createtime` timestamp NULL default CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8;

以上是关于MySQL里时间字段设置为int后insert怎么写的主要内容,如果未能解决你的问题,请参考以下文章

怎么用变量给mysql里int型字段赋值Null

麻烦问一下各位老师了 在mysql中设置int类型的字段 想把字段的默认值设置为-1 请问该怎么办?

mysql 中怎么设置默认值为系统日期

mysql怎么在创建表时设置默认时间为系统时间

mysql 里 date的长度 为啥总是为0

MYSQL插入数据INSERT INTO时如何检测某字段重复后再决定是不是执行?