创建一次表?

时间:2016-06-23 13:46:20

标签: php mysql create-table

关于创建表格,我有一些唠叨的问题:

  1. 如果我使用PHP创建一个MySQL函数来创建一个表,我知道它第一次工作(为用户名和密码创建一个数据库)但是当数据库看到代码的时候会有以下几次“创建表”。它似乎在我的虚拟服务器上忽略它,但我只是想知道这是不是错了。是否每次都在尝试创建新表?是否可以将该代码留在?

  2. 我的另一个问题是,让我说我进入PHPMyAdmin并添加一个名为“role”的列(以定义用户的角色)。登录页面将崩溃,因为我在PHPMyAdmin中添加了一个列,但如果使用PHP / MySQL添加列,则完全没问题。那是为什么?

3 个答案:

答案 0 :(得分:1)

1。)这取决于表的目的。

如果需要动态创建表,那么每次都应检查代码 如果表存在:

CREATE TABLE IF NOT EXISTS 'yourTable'

但是,如果只创建表,则不需要反复检查是否存在,因此创建这些表的代码应该只执行一次。

2。)您需要在通过PHPMyAdmin添加列后更新插入或读取的函数。我很难回答你的第二个问题,因为我不知道你的功能是做什么的。

答案 1 :(得分:0)

  1. 不要将您的CREATE TABLE ...语句保留在PHP代码中,以便它们在每次单页加载时每次执行一次。这是不必要的,容易出错。这些陈述不会被忽略,很可能会被运行并产生错误,而且您根本就不会检查错误。

    数据库创建是一个部署步骤,这意味着当您将代码上传到服务器时,这是您创建或修改数据库的唯一时间。有关整个工具链可用于管理此过程;在某些时候了解自动部署流程和数据库模式版本控制。

  2. 不知道如果没有看到您的代码和确切的错误消息。

答案 2 :(得分:0)

每次运行该函数时都会执行

CREATE TABLE
最好用CREATE TABLE IF NOT EXISTS替换语法。

  

关键字 IF NOT EXISTS 可防止出现错误   表存在。

如果您没有添加IF NOT EXISTS,则会抛出错误。

参考:http://dev.mysql.com/doc/refman/5.7/en/create-table.html

请发布您的相关代码以帮助您进行第二次查询。