mysql возвращают имя таблицы

скажем, у меня есть это mysql table structure:

table : articles
----------------
id
content

table : news
------------
id
news

существует ли способ искать строку в этом две таблицы и затем если строка происходит для возврата имени таблицы и идентификатора строки?

5
задан kmunky 30 January 2010 в 13:53
поделиться

3 ответа

Предполагая, что две таблицы имеют одинаковые типы данных для идентификаторов и новостей / контента, а затем запрос вдоль линий

SELECT id, 'articles' as tablename
WHERE content like '%string to search for%'
UNION
SELECT id, 'news' as tablename
WHERE news like '%string to search for%'

должен дать вам результат, который вы после

3
ответ дан 14 December 2019 в 19:12
поделиться

Несмотря на то, что вы сделали красивую работу переключение Язык автоматически, SEO агентство правильно!

Этот Google может неправильно индексировать сайт для каждого языка.

Это правда! Google не отправляет заголовок accept-language последний раз, когда я проверял. Это означает, что Google будет индексировать только язык по умолчанию.

Они предположили, что сайт может быть обвинен в маскировке,

Это отличается от вашей реализации Excact, но возможно ваш сайт получит штраф!

Есть преимущество иметь уникальные URL-адреса (для каждой языковой версии) на сайте!
Прежде всего, для ваших пользователей: они могут ссылаться на предпочитаемый ими язык. Вторичный для поисковых систем, поскольку они могут правильно индексировать ваш сайт.

Я советую большую часть времени перенаправлять пользователя только на главную страницу для языкового коммутатора с помощью 302 перенаправлять на правильный URL (и, следовательно, на правильный язык). (изменить: Вы можете просмотреть сообщение Мэтт Каттс «SEO Совет: Обсуждение 302 перенаправления» )

Чтобы проверить мой совет: установить fiddler и перейти к http://www.ibm.com . Как показано ниже, я получил 302 перенаправления на соответствующий язык, прибыв на www.ibm.com/be/en.

    Result  Protocol    Host    URL Body    Caching Content-Type    
4   302 HTTP    www.ibm.com /   209     text/html
5   200 HTTP    www.ibm.com /be/en/ 5.073   no-cache  text/html;charset=UTF-8

Есть несколько решений, которые вы можете решить:

  • Начать перезапись Urls (например, добавление каталога с использованием языка)
  • Если вы не хотите пройти через трудности добавления каталогов (или перезаписи URL) добавление QuureString было бы самым простым решением (хотя попробуйте ограничить их максимум 2 параметрами)
  • Другой вариант - использование другого подзаголовка www.website.com для языка по умолчанию, es.website.com, fr.website.com

Просто убедитесь, что каждый раз вы предоставляете одно и то же содержимое для одного и того же URL-адреса.

Удачи с этим!

-121--2995516-

Разве это не причина перекоса данных? Все отрицательные значения обнуляются:

if (d < 0) { d = 0; }
-121--3554046-
SELECT * FROM (

SELECT id, content as text, 'articles' as tablename
FROM articles

UNION ALL

SELECT  id, news as text, 'news' as tablename
FROM news

) as tmp 

WHERE text = 'SEARCH_TERM'
1
ответ дан 14 December 2019 в 19:12
поделиться

Вы можете попробовать это:

SELECT 'articles' as table_name, id
FROM `articles` 
WHERE content like '%<my_string>%'

UNION

SELECT 'news' as table_name, id 
FROM `news` 
WHERE news like '%<my_string>%'
1
ответ дан 14 December 2019 в 19:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: