DBDelta is extremely picky-- 有时甚至会让人发疯。抄本:
您必须在SQL语句中将每个字段放在自己的行上主键和主键定义之间必须有两个空格必须使用关键字key而不是其同义词索引,并且必须至少包含一个关键字不得在字段名称周围使用任何撇号或反勾号在我看来,你至少违反了其中两条规则。你应该有这样的东西:
$sql="
CREATE TABLE $my_table (
id int(20) not null auto_increment,
name varchar(40) not null,
password varchar(20) notnull,
PRIMARY KEY id
);";
我删除了
IF NOT EXISTS
.
dbdelta
如果表需要更新,将更新表,否则将不进行更新,因此命名为“数据库增量”。在数学中,“delta”(希腊字母)的意思类似于“变化”或“差异”。
正如我所说的,我不保证代码会起作用,dbdelta
非常挑剔。我确信,SQL语句的格式才是问题所在,应该让您朝着正确的方向前进。