#php #mysql #date #database-design
#php #mysql #Дата #база данных-дизайн
Вопрос:
Это код для создания таблицы каждый день в соответствии с датой. Но новая таблица не создается в базе данных. Помогите мне с этим, пожалуйста. Код приведен ниже:
$date = date ('Ymd');
echo $date;
$query = "CREATE TABLE TEST_" . $date;
$query .= " (Name text(20), Class int(5), Age int(3), Date date, created CURRENT_TIMESTAMP);";
Комментарии:
1. Почему вы хотите это сделать?
2. на самом деле я хочу одновременно создавать новую таблицу в своей базе данных. Но мне приходится писать sql-запрос для создания таблицы каждый раз, когда я запускаю этот код. Понял?
3. Но мы все еще не знаем почему. Это очень странная вещь, которую хочется делать (ну, в любом случае, в контексте RDBMS)
4. Для этого
WHERE date = 'YYYY-MM-DD'
и существует…5. создавать новую таблицу каждый день просто неправильно. вам не следует этого делать. никогда. вместо этого вы должны создать одну таблицу с полем даты. с этим вы можете просто фильтровать с помощью
WHERE date = :thedayyouwant
— но поверьте мне, с одной таблицей каждый день вы будете сталкиваться с тоннами проблем — вы будете сожалеть об этом.
Ответ №1:
Без Concat вы можете напрямую передавать
$date = date ('Ymd');
$query = "CREATE TABLE tbltable_'".$date."' (
Name varchar (50) NOT NULL,
Class int,
Age int,
Date date,
created CURRENT_TIMESTAMP
)";
mysqli_query($query) or die(mysqli_error());
Комментарии:
1. Почему вы рекомендуете использовать mysql_query?
2. проверьте тег вопроса, использует ли он php
3. Вы понимаете, что все
mysql_*
функции были удалены из PHP 7 и их больше не следует использовать?4. Да, mysqli — это не то же самое, что функции mysql_ *.