【发布时间】:2017-06-07 10:13:17
【问题描述】:
我正在尝试在这样的单个查询中创建具有相同工作表的多个表
$query ="CREATE TABLE users1, users2, users3 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(24) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
)";
然后尝试使用 PDO 执行它
$stmt->execute();
但没有用,然后尝试将它们分开
$query = "CREATE TABLE users1 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(24) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
CREATE TABLE users2 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(24) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
CREATE TABLE users3 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(24) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
";
一次有和没有;
但还是报错
【问题讨论】:
-
为什么要类似的表?似乎是一个糟糕的设计。
-
CREATE TABLE LIKEdev.mysql.com/doc/refman/5.7/en/create-table-like.html -
@jarlh 尝试用三个不同的用户制作 3 种类型的页面
-
我同意 jarlh;为每个用户设计一个表并不是很好的设计。您得到的错误与多余的逗号有关:
password VARCHAR(255) NOT NULL,) -
如果您需要不同类型的用户,只需在您的用户表中添加列
type