CREATE TABLE `join_users_rights` (
`id` int(11) NOT NULL auto_increment,
`user` int(11) NOT NULL default '0',
`right` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
CREATE TABLE `rights` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(30) NOT NULL default '',
`description` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(30) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
INSERT INTO `rights` VALUES (1, 'login', 'Login', 1, 1);
INSERT INTO `users` VALUES (1, 'sjoerd', 'mypassword');
INSERT INTO `join_users_rights` VALUES (1, 1, 1);
Thanks in advance,
Sjoerd Mulder
Rich Ryan wrote:
It would be very nice if you would post your CREATE TABLE statement, along
with some INSERT INTOs. That way we could post a solution that is tested.
Rich
"Sjoerd" <go****@sjoerdmulder.electronischepost.nl> wrote in message
news:11**********************@g44g2000cwa.googlegr oups.com... Hi,
I have a problem with mysql joins, which are always a bit complicated
to me.
I use mysql version 4.0.25-standard.
This is my SQLstatement, used to check if user #1 has the right to
login:
SELECT users.*, rights.* FROM users
LEFT JOIN join_users_rights ON users.id=join_users_rights.user
LEFT JOIN rights ON join_users_rights.right=rights.id
WHERE ((rights.name='login') AND (users.id='1'))
And this is the error message I get:
#1064 - You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use
near
'right = rights . id WHERE ( ( rights . name = 'login' ) AND ( u
Where do I go wrong?
Thanks in advance,
Sjoerd Mulder