Как я могу исправить эту ошибку: 1248 на MySQL? [Дубликат]

Почему это происходит?

Кажется, этот раздел на w3.org предполагает, что переполнение текста применяется только к элементам блока :

11.1.  Overflow Ellipsis: the ‘text-overflow’ property

text-overflow      clip | ellipsis |   
Initial:           clip   
APPLIES TO:        BLOCK CONTAINERS               <<<<
Inherited:         no  
Percentages:       N/A  
Media:             visual  
Computed value:    as specified  

MDN говорит тот же .

Этот jsfiddle имеет ваш код (с несколько отладочных изменений), который отлично работает, если он применяется к div вместо td. Он также имеет единственное обходное решение, о котором я мог бы быстро подумать, путем обертывания содержимого td в содержащем блоке div. Однако, это выглядит как «уродливая» разметка для меня, поэтому я надеюсь, что у кого-то есть лучшее решение. Код для проверки выглядит следующим образом:

td, div {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid red;
  width: 80px;
}
Works, but no tables anymore:
Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah.
Works, but non-semantic markup required:
Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah. Lorem ipsum and dim sum yeah yeah yeah.

7
задан acctman 8 May 2012 в 09:45
поделиться

2 ответа

SELECT 
    ect.entry_id,
    ect.author_id,
    ect.title,
    ect.status
FROM exp_channel_titles as ect

LEFT JOIN
(SELECT
    entry_id, 
    field_id_14,
    field_id_15,
    field_id_25,
    field_id_27, 
    field_id_28, 
    field_id_29, 
    field_id_30,
    field_id_31,
    field_id_32,
    field_id_33,
    field_id_34,
    field_id_35
FROM exp_channel_data) as ecd 
ON ecd.entry_id = ect.entry_id

LEFT JOIN
(SELECT   
    member_id,
    email
FROM exp_members) as exm
ON exm.member_id = ect.author_id

WHERE ect.title LIKE '%Member%' 
AND ect.status = 'complete'
1
ответ дан Imdad 21 August 2018 в 06:15
поделиться
  • 1
    Спасибо, теперь я получаю эту ошибку ... # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с WHERE ect.title LIKE% Member% AND ect.status = 'complete' LIMIT 0, 30 'в строке 33 – acctman 8 May 2012 в 10:01
  • 2
    проверить обновленный запрос – Imdad 8 May 2012 в 10:02
  • 3
    спасибо Имададу, который работал. Я думаю, что мои запросы ошибочны. Я получаю все результаты Entry_id Author_id Title Status ... но я хочу, чтобы все поля_ * и электронная почта появлялись в результатах – acctman 8 May 2012 в 10:12

Ну, как говорится в ошибке, вы должны назвать каждую производную таблицу. Например

(SELECT   
    member_id,
    email
FROM exp_members
WHERE member_id = exp_channel_titles.author_id)

Является производной таблицей. Добавьте имя, подобное этому:

(SELECT   
    member_id,
    email
FROM exp_members
WHERE member_id = exp_channel_titles.author_id) tempTableNameGoesHere

(я думаю, что нет необходимости в as между скобкой и именем, но я полагаю, вы можете попробовать или посмотреть отсюда;))

Ваш следующий вопрос (как долго мы будем это делать? :))

 WHERE title LIKE %Member% 

должно быть

WHERE title LIKE '%Member%'
18
ответ дан Nanne 21 August 2018 в 06:15
поделиться
  • 1
    (это касается всех производных таблиц, а не только для этого) – Nanne 8 May 2012 в 09:48
  • 2
    спасибо ... теперь я получаю еще одну ошибку после использования примера Imdad. любой совет? синтаксис для использования рядом с WHERE ect.title LIKE% Member% AND ect.status = 'complete' LIMIT 0, 30 'в строке 33 – acctman 8 May 2012 в 10:03
  • 3
    Вы должны поместить ' вокруг like – Nanne 8 May 2012 в 10:12
  • 4
    Отлично, ты просто спас свой день. – amilaishere 6 August 2013 в 04:26
Другие вопросы по тегам:

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