sql ×95
Создан 04.01.2025
0
голоса
1
ответов
2
просмотров
Зачем использовать ограничения внешнего ключа в MySQL?

Я думаю, у меня есть вопрос относительно использования ограничений (constraints) в качестве внешних ключей (foreign keys) в MySQL. Я уверен, что могу контролировать типы данных, которые добавляются в базу, так зачем мне использовать внешние ключи?

Поможет ли это улучшить производительность?

0
голоса
2
ответов
11
просмотров
Как оператор GROUP BY обрабатывает значения NULL?

Как оператор GROUP BY обрабатывает значения NULL? Соответствует ли это общему подходу к этим значениям?

0
голоса
0
ответов
0
просмотров
MySQL: Как добавить столбец NOT NULL

Я добавляю столбец в таблицу:

ALTER TABLE t ADD c varchar(10) NOT NULL;

Столбец успешно добавляется, и для каждой записи автоматически устанавливается пустая строка.

Ожидается ли такое поведение во всех условиях (строгий режим и т.д.) в MySQL 5.5 и выше?

0
голоса
3
ответов
4
просмотров
SQL LIKE без подстановочных символов эквивалентен '='?

Я понимаю, что это довольно простой вопрос, и я, кажется, знаю на него ответ... но хотел бы уточнить.

Действительно ли эти запросы эквивалентны?

SELECT * FROM FOO WHERE BAR LIKE 'X'
SELECT * FROM FOO WHERE BAR ='X'

Возможно, есть накладные расходы при использовании оператора LIKE без...

0
голоса
5
ответов
2
просмотров
Представляемая или временная таблица - что выбрать в MS SQL Server?

У меня возникла проблема с выбором между использованием представления и временной таблицей.

У меня есть хранимая процедура, которую я вызываю из программы. В этой процедуре я сохраняю результаты долгого запроса во временной таблице, называю столбцы и выполняю ещё несколько запросов к этой таблице,...

0
голоса
0
ответов
2
просмотров
Как добавить пользовательский ввод в SQL-запрос?

Я пытаюсь создать SQL-запрос с использованием данных, предоставленных пользователем. В C# я использую код, подобный следующему:

var sql = "INSERT INTO myTable (myField1, myField2) " +
          "VALUES ('" + someVariable + "', '" + someTextBox.Text + "');";

var cmd = new SqlCommand(sql,...
0
голоса
5
ответов
4
просмотров
MySQL INTO OUTFILE: Как переопределить существующий файл?

У меня есть большой SQL-скрипт, который создает CSV-файл. Я хочу настроить cron-задачу, которая будет выполняться каждую ночь, чтобы создавать свежий CSV-файл и делать его доступным на сайте.

К примеру, я сохраняю свой файл по пути '/home/sites/example.com/www/files/backup.csv'.

Мой SQL-запрос...

0
голоса
2
ответов
0
просмотров
Самый быстрый способ заполнить таблицу SQL тестовыми данными [закрыто]

Описание проблемы для StackOverflow

Вопрос закрыт Этот вопрос не соответствует требованиям к фокусировке. В данный момент он не принимает ответы.


Хотите улучшить этот вопрос? Обновите вопрос, чтобы он сосредоточился только на одной проблеме, отредактировав этот...

0
голоса
5
ответов
0
просмотров
Слияние двух строк в SQL

У меня есть таблица с следующей информацией:

FK | Field1 | Field2
=====================
3  | ABC    | *NULL*
3  | *NULL* | DEF

Существует ли способ выполнить запрос SELECT к этой таблице, чтобы получить следующий результат:

FK | Field1 | Field2
=====================
3  | ABC    |...
0
голоса
1
ответов
1
просмотров
Для чего действительно нужен SQL-тип данных национального символа (NCHAR)?

Заголовок: Проблема с использованием типов данных NCHAR и NVARCHAR в различных СУБД

Тело вопроса:

Я столкнулся с ситуацией, связанной с выбором типов данных для хранения строковых значений в SQL. Я заметил, что, помимо стандартных типов CHAR (CHARACTER) и VARCHAR (CHARACTER VARYING), SQL...

5
голоса
5
ответов
13
просмотров
Как вывести строку запроса с параметрами при использовании Hibernate

Возможность отображения SQL-запросов с реальными значениями в Hibernate

Здравствуйте! Я столкнулся с проблемой: возможно ли в Hibernate выводить сгенерированные SQL-запросы с реальными значениями вместо вопросительных знаков?

Если такой функционал отсутствует в API Hibernate, как бы вы...

5
голоса
4
ответов
14
просмотров
Добавление идентификатора к существующему столбцу

Я хочу изменить первичный ключ таблицы на столбец с автоинкрементом (identity column), но в таблице уже есть несколько строк данных.

У меня есть скрипт, который очищает идентификаторы и делает их последовательными, начиная с 1, и он работает нормально на моей тестовой базе данных.

Какую команду...

6
голоса
5
ответов
16
просмотров
Удалить дублирующиеся строки, сохранив первую строку

Как удалить дублирующие строки, если уникальный идентификатор строки отсутствует?

У меня есть таблица, которая выглядит следующим образом:

col1  col2 col3 col4 col5 col6 col7
john  1    1    1    1    1    1 
john  1    1    1    1    1    1
sally 2    2    2    2    2    2
sally 2    2  ...
5
голоса
4
ответов
11
просмотров
Обновление строк таблицы в Postgres с использованием подзапроса

У меня есть таблица в базе данных Postgres 8.4:

CREATE TABLE public.dummy
(
  address_id SERIAL,
  addr1 character(40),
  addr2 character(40),
  city character(25),
  state character(2),
  zip character(5),
  customer boolean,
  supplier boolean,
  partner boolean
)
WITH (
 ...
6
голоса
5
ответов
12
просмотров
Лучший способ удалить часть времени из datetime в SQL Server

Какой метод обеспечивает наилучшие показатели производительности при удалении временной части из поля datetime в SQL Server?

Я рассмотрел два следующих метода:

a) select DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0)

или

b) select cast(convert(char(11), getdate(), 113) as...
5
голоса
5
ответов
11
просмотров
Ограничить результаты до N строк на группу

Проблема заключается в том, что при выполнении следующего SQL-запроса:

SELECT
    year, id, rate
FROM h
WHERE year BETWEEN 2000 AND 2009
ORDER BY id, rate DESC

возвращается результат, где строки для каждого id не ограничены. Например, для id = p01 и id = p02 выводятся все строки,...

6
голоса
5
ответов
14
просмотров
OR не поддерживается в выражении CASE в SQL Server

Описание проблемы

Я пытаюсь использовать оператор OR в cláusule WHEN выражения CASE, но получаю сообщение об ошибке, поскольку данная конструкция не поддерживается.

Вот пример кода, который я использую:

CASE ebv.db_no 
    WHEN 22978 OR 23218 OR 23219 THEN 'WECS 9500' 
    ELSE...
6
голоса
4
ответов
11
просмотров
Как выполнить SELECT DISTINCT по нескольким столбцам?

Я пытаюсь извлечь все строки из таблицы, где комбинации двух колонок уникальны. То есть мне нужны все продажи, у которых нет других продаж, произошедших в тот же день за ту же цену. Продажи, которые уникальны по дате и цене, должны быть обновлены до статуса "ACTIVE".

Я думаю сделать это следующим...

5
голоса
5
ответов
13
просмотров
Невозможно вставить явное значение для столбца идентичности в таблице 'table', когда IDENTITY_INSERT отключен

Я столкнулся с ошибкой при выполнении следующего скрипта. Что означает эта ошибка и как её можно исправить?

Insert table(OperationID, OpDescription, FilterID)
values (20, 'Hierachy Update', 1)

Ошибка:

Server: Msg 544, Level 16, State 1, Line 1
Cannot insert explicit value for...
5
голоса
3
ответов
12
просмотров
MySQL: @переменная против переменной. В чем разница?

Я задал вопрос, и в ответ мне сказали, что существует разница между:

@переменная

и

переменная

в MySQL. Также упоминалось, что в MSSQL есть область видимости для пакетных операций, а в MySQL — область видимости для сессий. Можете ли вы подробнее объяснить это?