1

我正在创建两个不同的表,其中一个具有外键。

我需要将mailbox表中的发送者和接收者关联到users.item1

当我尝试我的代码时,我收到以下错误:

检查您的 MySQL 版本的语法

我做了什么,我正在运行 5.5.25

该手册显示了一个我尝试过的示例,但仍然出现错误。

$sql="CREATE TABLE users(
    id INT NOT NULL AUTO_INCREMENT,
    item1 VARCHAR(32),
    item2 VARCHAR(32),password VARCHAR(32),
    PRIMARY KEY (id))";

if ($query = mysqli_query($con,$sql))
    echo "Table users created successfully";
else
    echo "Error creating table: " . mysqli_error($con);

$sql = "CREATE TABLE mailbox(
    id INT NOT NULL AUTO_INCREMENT, 
    item VARCHAR(32), 
    subject VARCHAR(32), 
    item  VARCHAR(64), 
    sender VARCHAR(32), 
    receiver VARCHAR(32), 
    item INT, PRIMARY KEY (id)
    FOREIGN KEY (id) REFERENCES users(id))";
4

1 回答 1

1

..我需要将sender and receiver from mailbox表格与users table item1..

CREATE TABLE users
(
    id INT NOT NULL AUTO_INCREMENT,
    item1 VARCHAR(32),
    item2 VARCHAR(32),
    password VARCHAR(32),
    PRIMARY KEY (id),
    KEY(item1)
);

CREATE TABLE mailbox
(
    id INT NOT NULL AUTO_INCREMENT, 
    item VARCHAR(32), 
    subject VARCHAR(32), 
    sender VARCHAR(32), 
    receiver VARCHAR(32), 
    PRIMARY KEY (id),
    CONSTRAINT tb_fk1 FOREIGN KEY (sender)
        REFERENCES users(item1),
    CONSTRAINT tb_fk2 FOREIGN KEY (receiver)
        REFERENCES users(item1)
)

后续问题:为什么表item上有 3 列名称mailbox

于 2013-03-01T04:47:24.850 回答