这个SQL如何导致ON UPDATE CURRENT_TIMESTAMP?

Bra*_*ons 1 sql

这是我创建表的PHP的片段:

$sql = 'CREATE TABLE '.$table.' (
                `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                `name` VARCHAR( 55 ) NOT NULL ,
                `venue` VARCHAR( 55 ) NOT NULL ,
                `time` TIMESTAMP NOT NULL ,
                `desc` TEXT NOT NULL
                )';
Run Code Online (Sandbox Code Playgroud)

这使得time列成为添加或更改行时的当前时间戳.我怎么能阻止这个?

Bli*_*ixt 8

这是TIMESTAMP列类型的默认行为.我建议将其更改为DATETIME专栏.

您还可以通过明确指定行为的行为来改变行为.

added TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

上面的列规范将不具有该ON UPDATE行为.您还可以指定NULL值或0作为默认值.