错误编号:1066 在 codeigniter 中不是唯一的 table/alias:'service'
Error Number: 1066 Not unique table/alias: 'service' in codeigniter
想获得一对多关系中的所有服务
我的代码是
$this->db->select('*');
$this->db->from('service');
$this->db->join('user', 'user.user_email = service.user_email', 'inner');
$this->db->join('service', 'service.user_email = user.user_email', 'inner');
$query = $this->db->get();
但是它给我一个错误
Error Number: 1066
Not unique table/alias: 'service'
SELECT * FROM (`service`) INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `service` ON `service`.`user_email` = `user`.`user_email`
Filename: C:\xampp\htdocs\service\system\database\DB_driver.php
如果我没有
$this->db->from('service');
然后报语法错误
Error Number: 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 'INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `se' at line 2
SELECT * INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `service` ON `service`.`user_email` = `user`.`user_email`
Filename: C:\xampp\htdocs\service\system\database\DB_driver.php
您正在尝试将 service
table 加入 user
table,然后再次尝试加入 service
table .
这不是您通常应该尝试做的事情,当您这样做时,呈现的 SQL 语句包含两次尝试引用 service
table .这是第二个 JOIN
导致数据库出现问题并抛出您所看到的错误。
在这种情况下,只需使用:
$this->db->select('*');
$this->db->from('service');
$this->db->join('user', 'user.user_email = service.user_email', 'inner');
$query = $this->db->get();
自从
$this->db->join('service', 'service.user_email = user.user_email', 'inner');
在这里是多余的(您已经在该字段上加入了这些 table。
想获得一对多关系中的所有服务 我的代码是
$this->db->select('*');
$this->db->from('service');
$this->db->join('user', 'user.user_email = service.user_email', 'inner');
$this->db->join('service', 'service.user_email = user.user_email', 'inner');
$query = $this->db->get();
但是它给我一个错误
Error Number: 1066
Not unique table/alias: 'service'
SELECT * FROM (`service`) INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `service` ON `service`.`user_email` = `user`.`user_email`
Filename: C:\xampp\htdocs\service\system\database\DB_driver.php
如果我没有
$this->db->from('service');
然后报语法错误
Error Number: 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 'INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `se' at line 2
SELECT * INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `service` ON `service`.`user_email` = `user`.`user_email`
Filename: C:\xampp\htdocs\service\system\database\DB_driver.php
您正在尝试将 service
table 加入 user
table,然后再次尝试加入 service
table .
这不是您通常应该尝试做的事情,当您这样做时,呈现的 SQL 语句包含两次尝试引用 service
table .这是第二个 JOIN
导致数据库出现问题并抛出您所看到的错误。
在这种情况下,只需使用:
$this->db->select('*');
$this->db->from('service');
$this->db->join('user', 'user.user_email = service.user_email', 'inner');
$query = $this->db->get();
自从
$this->db->join('service', 'service.user_email = user.user_email', 'inner');
在这里是多余的(您已经在该字段上加入了这些 table。