Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для салома
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370

Имя таблицы в переменной в запросе mysql

15.04.2022, 13:23. Показов 2872. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, достал старые исходники
раньше этот метод работал, сейчас ругается.
Суть в имени таблицы в качестве переменной
Если вставить вместо @name физическое имя, запрос пройдет
а так ошибка
подскажите куда копать
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
db.open();
MySqlCommand command = new MySqlCommand("CREATE TABLE IF NOT EXISTS @name (" +
        "`id` int AUTO_INCREMENT," +
        "`Name` varchar(255) NULL," +
        "`Text` varchar(255) NULL," +
        "`Status` varchar(255) NULL," +
        "`Crit` varchar(255) NULL," +
        "`Date` datetime NULL," +
        "`link` varchar(255) NULL," +
        "PRIMARY KEY (`id`));", db.get());
command.Parameters.Add("@name", MySqlDbType.VarChar).Value = _username;
сommand.ExecuteNonQuery();
db.close();
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.04.2022, 13:23
Ответы с готовыми решениями:

Можно ли в запросе имя таблицы записать переменной?
Добрый день! Скажите, можно ли в запросе имя таблицы записать переменной? Вот так ... FROM $table...

Как в SQL запросе имя таблицы представить в виде переменной
Подскажите пожалуйста : Как (MS SQL 7.0) как в SQL запросе имя таблицы представить в виде переменной Например DECLARE @table_name ...

Как указать в запросе имя таблицы, записанное в ячейке этой таблицы
Добрый день. Помогите пожалуйста решить проблему: Есть таблица 'budget' со следующей структурой: магазин | категория магазина |...

10
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,422
15.04.2022, 14:03
салома, а в таком подходе есть какой-то смысл вообще? Создавать таблицу с произвольным именем, но фиксированной схемой...
0
 Аватар для салома
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370
15.04.2022, 14:07  [ТС]
Usaga, это таблица профиля пользователя
она должна создаться в момент запуска программы и получение этого имени
но вот я уже все перечитал, перепробовал с 10-к методов, ошибка синтаксиса и все
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
15.04.2022, 14:37
салома,
Цитата Сообщение от салома Посмотреть сообщение
Суть в имени таблицы в качестве переменной
Если вставить вместо @name физическое имя, запрос пройдет
при подставлении имени использовали символы кавычек? `table_name`
0
 Аватар для салома
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370
15.04.2022, 14:55  [ТС]
AndreyVorobey,
Да, пробовал
При использовании кавычек он берет @name как физическое имя таблицы, а не как ссылку или содержащую имя переменную
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
15.04.2022, 14:58
салома, так передайте эти кавычки в _username
или попробуйте так
C#
1
$"CREATE TABLE IF NOT EXISTS `{_username}`..."
0
 Аватар для салома
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370
15.04.2022, 15:04  [ТС]
AndreyVorobey,
он создал таблицу {_username}
А должен был создать с именем условно valera, которое содержится в _username
передавать в переменную кавычки я тоже пробовал, ошибка синтаксиса
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
15.04.2022, 15:07
Лучший ответ Сообщение было отмечено салома как решение

Решение

салома, Вы добавили символ интерполяции строки ($) в начале, как я написал? он позволяет передавать значение переменной, указанной между фигурными скобками.
1
 Аватар для салома
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370
15.04.2022, 15:10  [ТС]
AndreyVorobey, Конечно нет, потому что я слепой
Оно заработало, спасибо
0
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,422
16.04.2022, 04:36
Цитата Сообщение от салома Посмотреть сообщение
это таблица профиля пользователя
Вы издеваетесь? А просто имя пользователя\логин в эту таблицу добавить нельзя? Вы собрались всю базу завалить идентичными таблицами?))) Это для чего задумано? Оптимизация такая или что?))
0
0 / 0 / 0
Регистрация: 15.02.2022
Сообщений: 1
16.11.2022, 18:23
AndreyVorobey, здравствуйте. Столкнулся с такой же проблемой, что и ТС. Попытался применить ваше решение с $, но т.к. в коде плаваю, то сколько не пробовал вариантов с $, ни один у меня так и не заработал. Если вас не затруднит, поправьте пожалуйста код так, чтобы в mysql создавалась таблица с именем из переменной

Code
1
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS @login
(
    Date DATETIME,
    Was_Sent INT,
    Unappropriate INT,
    Quota INT
);
https://skr.sh/sGwshrUiGqH


При этом если убрать "@" из 1й строки, CREATE TABLE IF NOT EXISTS login то как и положено создается таблица с названием login

ошибка

Выполнение действия Db You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''rodercabanillasc@gmail.com'
(
Date DATETIME,
Was_Sent INT,
Unap' at line 1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2022, 18:23
Помогаю со студенческими работами здесь

Как узнать имя переданной в запросе переменной?
Как узнать имя переданной в запросе переменной? То есть известно значение переменной, а имя было сгенерировано динамически. Я...

Как в MySQL запросе сравнить значение id из таблицы A со значением a_id из таблицы B из последней добавленной записи
Очень тяжело объяснить, вот пример (работаю в phpmyadmin): У меня есть 2 таблицы: articles categories У articles есть...

Как в запросе MySql получить имя вместо id
Здравствуйте! Может кто поможет с запросом? Есть таблица Action. Структура - date, time, place, fio. И есть таблица Sotr. Структура -...

Использование переменной при запросе в MySql
Добрый день. Моя строка запроса string query = "INSERT INTO users (login, password) VALUES ('данные', 'данные')"; Ка мне...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru