2010-12-31 2 views
-1

У меня есть две таблицы# 1054 - Неизвестный столбец «de15a674d1252f6565a65756ebfa97e8e1e58c9c» в «где предложение»

CREATE TABLE IF NOT EXISTS `user` (
    `user_id` int(20) NOT NULL AUTO_INCREMENT, 
    `ud_id` varchar(50) NOT NULL, 
    `name` text NOT NULL, 
    `password` text NOT NULL, 
    `email` varchar(200) NOT NULL, 
    `image` varchar(150) NOT NULL, 
    PRIMARY KEY (`user_id`) 
) ENGINE=InnoDB

и mycatch таблица

CREATE TABLE IF NOT EXISTS `mycatch` (
    `catch_id` int(11) NOT NULL AUTO_INCREMENT, 
    `catch_name` text NOT NULL, 
    `catch_details` text NOT NULL, 
    `longitude` float(10,6) NOT NULL, 
    `latitude` float(10,6) NOT NULL, 
    `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    `image` varchar(150) NOT NULL, 
    `user_id` int(20) NOT NULL, 
    PRIMARY KEY (`catch_id`), 
    KEY `user_id` (`user_id`) 
) ENGINE=InnoDB; 
ALTER TABLE `mycatch` 
    ADD CONSTRAINT `mycatch_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;

я хочу, чтобы извлечь данные из обеих таблиц. т.е.

SELECT longitude,latitude 
FROM user u 
LEFT JOIN mycatch m ON u.user_id = m.user_id 
WHERE u.ud_id =de15a674d1252f6565a65756ebfa97e8e1e58c9c 
AND m.catch_id >7

, но это дает мне ошибку #1054 - Unknown column 'de15a674d1252f6565a65756ebfa97e8e1e58c9c' in 'where clause'
но когда я изменить u.ud_id = 123456789, то он работает отлично

ответ

4

вам нужны одиночные кавычки u.ud_id

SELECT longitude,latitude 
FROM user u 
LEFT JOIN mycatch m ON u.user_id = m.user_id 
WHERE u.ud_id = 'de15a674d1252f6565a65756ebfa97e8e1e58c9c' 
AND m.catch_id >7 
+0

спасибо будет для вашего внимания он работает – hunter

+0

как я могу получить все поля из таблицы mycatch, используя тот же запрос – hunter

1

You необходимо поставить свою стоимость в котировках:

... WHERE u.ud_id='de15a674d1252f6565a65756ebfa97e8e1e58c9c' ...