[英]Run multiple CREATE TABLe queries with MySQL and PHP
我需要一次创建大量表,并使用PHP和MySQL将数据添加到第一个表中。 我的代码如下所示:
$sql = "CREATE TABLE table1 (
code VARCHAR(5) PRIMARY KEY,
name VARCHAR(50) NOT NULL
);";
//adding businesses to table
$sql .= "INSERT INTO table1 (code, name)
VALUES ('CODE', 'name');";
//^this basic idea is run a few more times
$sql .= "CREATE TABLE table2 (
code VARCHAR(5) PRIMARY KEY,
name VARCHAR(50) NOT NULL
);";
//^same basic thing run a bunch more times w/ variations to columns
if ($conn->multi_query($sql) === TRUE) {
echo "<p>Tables created.</p>
<a href=\"adduser_form.php\">Continue</a>";
} else {
echo "<p>Error creating tables: " . $conn->error . "</p>";
}
这只会创建第一个表并向其中添加数据,不会创建任何其他表,并且我不会收到任何错误消息(显示成功消息)。 我已经搜索了一个小时的解决方案,但我什么都没想。 我在想我需要一种方法来推迟创建下一个表,直到创建上一个表?
我是MySQL的新手,因此非常感谢新手:)
尝试在SQL语句中使用反引号,例如:
$sql .= "CREATE TABLE `table2` (
`code` VARCHAR(5) PRIMARY KEY,
`name` VARCHAR(50) NOT NULL
);";
您还应该在INSERT语句(和第一个CREATE查询)中使用反引号。
如果我没记错的话, name
是保留字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.