我想在数据库中添加一个额外的列,并将其命名为price_23-05-2019
。
如何将其放入工作查询中?
我现在有这个,显然不起作用:
$date = date("d-m-Y");
$query =
"ALTER TABLE `products_05_2019`
ADD price_'.$date.' DECIMAL(7,2)";
($result = mysqli_query($link, $query))
答案 0 :(得分:2)
对于每个日期,您实际上都不应有单独的列。应该只有一个date
列,以日期为值,并且每个日期都有一个单独的行。
但是如果您必须这样做,这是解决问题的方法。
如果在列名中使用-
,则必须将该名称括在反引号中。
$date = date("d-m-Y");
$query =
"ALTER TABLE `products_05_2019`
ADD `price_$date` DECIMAL(7,2)";
$result = mysqli_query($link, $query);
但是使用_
代替-
可能会更好。
$date = date("d_m_Y");
$query =
"ALTER TABLE `products_05_2019`
ADD price_'.$date.' DECIMAL(7,2)";
$result = mysqli_query($link, $query);
答案 1 :(得分:0)
正如@ficuscr所说,您可能希望看一下数据库的设计,因此不必从代码中创建列。
无论如何,当我有一个列名取决于代码时,该怎么做是创建一个新变量,然后将其包含在查询中:
$date = date("d-m-Y");
$column_name = 'price_'.$date;
$query = "ALTER TABLE `products_05_2019` ADD `$column_name` DECIMAL(7,2)";