关于创建表格,我有一些唠叨的问题:
如果我使用PHP创建一个MySQL函数来创建一个表,我知道它第一次工作(为用户名和密码创建一个数据库)但是当数据库看到代码的时候会有以下几次“创建表”。它似乎在我的虚拟服务器上忽略它,但我只是想知道这是不是错了。是否每次都在尝试创建新表?是否可以将该代码留在?
我的另一个问题是,让我说我进入PHPMyAdmin并添加一个名为“role”的列(以定义用户的角色)。登录页面将崩溃,因为我在PHPMyAdmin中添加了一个列,但如果使用PHP / MySQL添加列,则完全没问题。那是为什么?
答案 0 :(得分:1)
1。)这取决于表的目的。
如果需要动态创建表,那么每次都应检查代码 如果表存在:
CREATE TABLE IF NOT EXISTS 'yourTable'
但是,如果只创建表,则不需要反复检查是否存在,因此创建这些表的代码应该只执行一次。
2。)您需要在通过PHPMyAdmin添加列后更新插入或读取的函数。我很难回答你的第二个问题,因为我不知道你的功能是做什么的。
答案 1 :(得分:0)
不要将您的CREATE TABLE ...
语句保留在PHP代码中,以便它们在每次单页加载时每次执行一次。这是不必要的,容易出错。这些陈述不会被忽略,很可能会被运行并产生错误,而且您根本就不会检查错误。
数据库创建是一个部署步骤,这意味着当您将代码上传到服务器时,这是您创建或修改数据库的唯一时间。有关整个工具链可用于管理此过程;在某些时候了解自动部署流程和数据库模式版本控制。
不知道如果没有看到您的代码和确切的错误消息。
答案 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
请发布您的相关代码以帮助您进行第二次查询。