我有2个表:'用户'和'备注'。
我的'用户'MYSQL是:
CREATE TABLE `users` (
`id` int NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
`password` varchar(70) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
我的'笔记'MYSQL是:
CREATE TABLE `notes` (
`id` int NOT NULL AUTO_INCREMENT,
`title` text NOT NULL,
`content` text NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
我如何制作,例如“Bob”('用户'中的id为2)是注释“Math”的所有者('notes'中的id为1)?
这是我的SELECT仅用于'笔记':
SELECT title, content FROM notes WHERE id = :id
我的意图是;我希望用户为自己而不是其他人拥有自己的笔记。
答案 0 :(得分:0)
创建一个名为Note_Owner
的表格或类似的表格,其中包含以下字段:
users_id - the id of a user in the users table
notes_id - the id of a note in the notes table
将users_id和notes_id组合为主键。另外,请将notes_id
列设为唯一,以便给定的注释不会出现多次。
这被称为"联结表"。
祝你好运。
答案 1 :(得分:0)
在yoru notes table
中添加一列user_idCREATE TABLE `notes` (
`id` int NOT NULL AUTO_INCREMENT,
`user_id` int
`title` text NOT NULL,
`content` text NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
您可以加入用户和备注,例如:
SELECT a.username, b.title, b.content
FROM user a
INNER JOIN notes a.id = b.user_id
WHERE a.id = :id
请注意,Bob的id是3,然后在与bob相关的注释中你必须更新user_id = 3