gpt4 book ai didi

php - 通过 PHP 以当前日期命名数据库表

转载 作者:行者123 更新时间:2023-11-29 02:33:38 26 4
gpt4 key购买 nike

我希望运行一个 mysql_query(),它允许我在数据库中创建一个新表并根据当前日期和时间命名它。

示例:创建一个名为 2012-01-09-03-00-00 或类似名称的表。

我知道这不是最佳的做事方式,但最终我将获取此表上的数据并将其转储到更大的数据库中。

我试过代码:

<?php
$date = date('YmdHis', time()-(3600*5));
$exportSQL = "CREATE TABLE $date(
FirstName varchar(15)
)";
mysql_select_db($database);
mysql_query($exportSQL) or die (mysql_error());
echo "Table created!";
?>

但这并没有什么好处。请帮助并提前致谢。

编辑:这已经解决。代码工作应该是这样的:

<?php
$date = date('YmdHis', time()-(3600*5));
$exportSQL = "CREATE TABLE `$date`(
FirstName varchar(15)
)";
mysql_select_db($database);
mysql_query($exportSQL) or die (mysql_error());
echo "Table created!";
?>

最佳答案

除了它是非常奇怪的设计,如果你想以这种方式命名表 - 将其名称放在方括号中,如下所示:

CREATE TABLE [2012-01-09 12:20:15.010] (your columns)

这意味着您应该组成查询之前拥有表的名称,或者您必须像这样使用动态 sql:

DECLARE @sql NVARCHAR(MAX)
SET @sql = N'CREATE TABLE['+
CAST(DATEPART(year, GETDATE()) AS NVARCHAR)+N'-'+
CAST(DATEPART(month, GETDATE()) AS NVARCHAR)+N'-'+
CAST(DATEPART(day, GETDATE()) AS NVARCHAR)+N'-'+
CAST(DATEPART(hour, GETDATE()) AS NVARCHAR)+N'-'+
CAST(DATEPART(minute, GETDATE()) AS NVARCHAR)+N'-'+
CAST(DATEPART(second, GETDATE()) AS NVARCHAR)+
N'] (FirstName varchar(15))'

EXEC(@sql)

所提供的语法适用于 sql server,因此由于 sql 合规性,您可以用双引号替换方括号并使用适当的日期函数,但方法仅保留一样的

关于php - 通过 PHP 以当前日期命名数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com