为了账号安全,请及时绑定邮箱和手机立即绑定

将表更改为临时表 - php/mysqli

将表更改为临时表 - php/mysqli

PHP
暮色呼如 2023-10-01 16:02:44
我已经创建了我想要的表格以及我想要的方式。我刚刚意识到我希望它在 session_destroy() 上销毁。我知道我可以轻松地做到这一点CREATE TEMPORARY TABLE。当我通过添加来编辑以下代码时,TEMPORARY未创建表。它是在TEMPORARY不存在时创建的。$sep = '';$sql = "CREATE TABLE `".$unique_id."`(";$sql.= PHP_EOL;$sql.= "`Name` VARCHAR(255) NOT NULL,".$sep;foreach ($year_range as $year) {  //ADD SEPERATOR BETWEEN LINES  if ($year != end($year_range)) {      $sep = ',';  } else {      $sep = '';  }  $sql.= "`".$year."` VARCHAR(255) NOT NULL".$sep;}$sql.= PHP_EOL;$sql.=')';我已经添加了TEMPORARY,它没有注册也没有创建表。任何人都可以阐明我可能做错了什么吗?谢谢。
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您应该研究关系数据库的更好用途,而不是像这样动态创建表。

我认为你只需要 2 个具有一对多关系的表

像这样的设置应该可以工作:

Table 1: User - basically a replacement for multiple dynamic tables. Stores an identifer for the user of the site.

Columns: unique_id (auto increment) | user (user identifier)


Table 2: years - contains a row for each year

Columns: unique_id (auto increment) | users_identifier (unique_id from users table) | year | stages_match

这利用了一种称为“外键”的东西。基本上,这意味着“该行属于另一个表中的 unique_id”


您可以像现在删除表一样删除数据;当用户结束会话时,删除用户表中属于该用户的所有行。如果您正确设置外键,这也会从 Years 表中删除该用户的所有行。


查看完整回答
反对 回复 2023-10-01
  • 1 回答
  • 0 关注
  • 42 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信