Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用mysql unix_timestamp()作为自动增量的起点?_Mysql_Jpa_Mysql Workbench - Fatal编程技术网

如何使用mysql unix_timestamp()作为自动增量的起点?

如何使用mysql unix_timestamp()作为自动增量的起点?,mysql,jpa,mysql-workbench,Mysql,Jpa,Mysql Workbench,我想知道是否可以创建一个表,该表以unix时间戳的值(表的创建时间)自动递增开始,即 create table something( something_id bigint not null primary key auto_increment, something_name varchar(10) not null, something_random varchar(3) not null ) engine=InnoDB auto_increment=round(uni

我想知道是否可以创建一个表,该表以unix时间戳的值(表的创建时间)自动递增开始,即

create table something(
    something_id bigint not null primary key auto_increment,
    something_name varchar(10) not null,
    something_random varchar(3) not null
) engine=InnoDB auto_increment=round(unix_timestamp(curtime(4)) * 1000);
请注意,我可以将auto_increment=roundunix_timestampcurtime4*1000替换为select-roundunix_timestampcurtime4*1000;的值;。但我想要的是一种在创建表时自动执行的方法

在阅读了所有我尝试过的东西之后,我发现了一个编译器错误

谢谢。

一种方法可能是使用一个可以实现此目的的

接收表创建命令并在末尾连接表达式值的过程。由于查询是字符串格式的,因此使用

DELIMITER $$

DROP PROCEDURE IF EXISTS `createTable`$$

CREATE PROCEDURE createTable(IN strCreateQuery TEXT)
BEGIN
        SET @query = CONCAT(strCreateQuery, " auto_increment=", ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000));

        PREPARE stmt FROM @query;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;    
END$$

DELIMITER ;
创建后,只需使用所需表的创建查询执行该过程

CALL createTable("
create table something(
    something_id bigint not null primary key auto_increment,
    something_name varchar(10) not null,
    something_random varchar(3) not null
) engine=InnoDB");

非常感谢,成功了!虽然我不理解你的解决方案,因为我是mysql的初学者;我可以要求任何资源,如果有进一步的阅读吗?对不起,在回答你的延误。如果您还没有看到,请查看我在回复中作为链接添加的官方文档。在这里,您将看到示例和更多细节。