问题
通过右CREATE TABLE IF NOT EXISTS $table
查询应该正常工作,因为它在实时项目中工作。但是,它无法在安装后创建新表。
我已经检查过mysql错误日志,错误不存在。 无法找到mysql错误 - (请参阅How to see log files in MySQL?)
我的设置
MySQL版本5.5.0
MySQL charset:UTF-8 Unicode(utf8)
Apache / 2.4.23(Unix)PHP / 5.6.25
MySQL客户端版本:mysqlnd 5.0.11-dev - 20120503 - $ Id $
phpMyAdmin版本信息:3.4.6
解决方案:不要包含sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO$
在my.cnf
文件中。
其中一个命令导致问题,但最后它在删除后才起作用。
答案 0 :(得分:0)
$ table是我要创建的表名
我相信你的SQL语句就像
CREATE TABLE IF NOT EXISTS table1
这完全错误导致您完全错过了表定义。即使您不想立即创建任何约束,也意味着列名,它们的数据类型和大小都是最小的。
答案 1 :(得分:0)
如果没有列,则无法创建表。
试试这个语法:
CREATE TABLE IF NOT EXISTS `$table` (
`id` int(11) NOT NULL
);
此查询成功创建了表" $ table"。