我正在尝试搜索3个不同的表,但它似乎不起作用。我必须从users表中删除username,然后它才能工作。如何在每个表中搜索不同的列?
$query = "(SELECT name, 'talent' FROM talent WHERE name LIKE '%" . $q ."%')
UNION ALL
(SELECT name, username, 'users' FROM users WHERE name LIKE '%" . $q ."%')
UNION ALL
(SELECT name, 'venues' FROM venues WHERE name LIKE '%" . $q ."%')";
您的第一个和最后一个UNION返回2列
中间的UNION返回3列,因此删除用户名不会出现错误
使用UNION 时列数和列类型应相同