Категория: Инструкции
В MySQL есть достаточное количество встроенных функций и фич, которые упрощают код. К сожалению, не все программисты знают об этом и используют свои «велосипеды».
ON DUPLICATE KEY UPDATEНапример, есть таблица с какими-то объектами (пользователи, посты и т.д.). Если данный объект с таким-тоуникальным свойством уже существует, то апдейтим какое-то свойство у него. Если объекта не существует, то вставляем новую строку. Часто можно встретить такой код:
Подобную конструкцию можно заменить одним запросом без участия php. при условии наличия первичного или уникального ключа по полю id:
INSERT INTO table SET column = 1, id=1 ON DUPLICATE KEY UPDATE column = column + 1
INSERT IGNOREЗачастую при добавление в таблицу, имеющей UNIQUE индекс или PRIMARY KEY. новой строки, очень полезным бывает синтаксис INSERT IGNORE. Использование данного синтаксиса удобно в случае случайного дублирования ключа при вставке, то есть сама вставка не будет произведена, при этом не будет прекращено выполнение.
Обычный алгоритм:
1) проверить наличие строки в таблице по ключу (SELECT)
2) вставить строку в случае отсутствия дублирования ключа (INSERT)
// находим объект
$row = query('SELECT * FROM table WHERE id=1'); // если такого объекта нет, то вставляем новую запись if (!$row) < query('INSERT INTO table …'); >
Теперь напишем только один запрос INSERT IGNORE без участия php
query('INSERT IGNORE INTO table …') // вставка
…Намедни, при попытке проанализировать аварийный дамп памяти после "синего экрана смерти" Windows 7. появилось диалоговое окно Open Crash Dump с сообщением «….dmp. У вас нет разрешения на открытие этого файла. Обратитесь к владельцу файла или к администратору сети, чтобы получить разрешение».
Если при запуске программ (при открытии файлов) вы получаете сообщение, что у вас нет разрешения:
– нажмите файл правой кнопкой мыши ;
– в диалоговом окне Свойства: <Имя_файла> откройте вкладку Безопасность ;
– в разделе Группы или пользователи выберите пользователя (например, СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ );
– нажмите кнопку Изменить… ;
– в диалоговом окне Разрешения для группы "<Имя_файла>" установите флажки (столбец Разрешить ) Полный доступ. Изменение. Чтение и выполнение. Чтение. Запись ;
– нажмите кнопку OK ;
– в диалоговом окне Безопасность Windows с сообщением «Вы собираетесь изменить параметры разрешений для системных папок, что может привести к непредвиденным проблемам доступа и нарушить безопасность. Хотите продолжить?» нажмите кнопку Да –> OK.
КомандаINSERTдобавляет строки в таблицу или представление основной таблицы.
Синтаксис команды Sql INSERTСинтаксис команды Insert
Основные ключевые слова и параметры команды INSERT
Утверждение INSERT с фразой VALUES добавляет одиночную строку к таблице. Эта строка содержит значения, определенные фразой VALUES .
Утверждение INSERT с подзапросом вместо фразы VALUES добавляет к таблице все строки, возвращенные подзапросом. Сервер обрабатывает подзапрос и вставляет каждую возвращенную строку в таблицу. Если подзапрос не выбирает никакие строки, сервер не вставляет никакие строки в таблицу.
Подзапрос может обратиться к любой таблице или представлению, включая целевую таблицу утверждения INSERT. Сервер назначает значения полям в новых строках, основанных на внутренней позиции столбцов в таблице и порядке значений фразы VALUES или в списке выбора запроса. Если какие-либо столбцы пропущены в списке столбцов, сервер назначает им значения по умолчанию, определенные при создании таблицы. Если любой из этих столбцов имеет NOT NULL ограничение то сервер возвращает ошибку, указывающую, что ограничение было нарушено и отменяет утверждение INSERT.
При выдаче утверждения INSERT включается любой INSERT — триггер, определенный на таблице.
INSERT INTO Пример 1
INSERT INTO dept VALUES (50, «ПРОДУКЦИЯ», «САН-ФРАНЦИСКО»);
INSERT INTO Customers (city, cname, cnum) VALUES (‘London’, ‘Hoffman’, 2001);
INSERT INTO Пример 2
Нижеприведенная команда копирует данные сотрудников фирмы, комисионные которых превышают 25% от дохода в таблицу bonus:
INSERT INTO bonus SELECT ename, job, sal, comm FROM emp WHERE comm > 0.25 * sal;
INSERT INTO Пример 3
Если нужно вставить NULL -значение, необходимо указать его как обычное значение следующим образом:
INSERT INTO Salespeople VALUES (1001,’Peel’,NULL,12);
INSERT INTO Пример 4
Команду INSERT можно применить для того, чтобы извлечь значения из одной таблицы и разместить их в другой, воспользовавшись для этого запросом. Для этого достаточно заменить предложение VALUES на соответствующий запрос:
INSERT INTO Londonstaff SELECT * FROM Salespeople WHERE city = ‘London’;
MySQL INSERTДля вставки новых строк в базу данных MySQL используется команда INSERT. примеры команды INSERT приведены ниже:
INSERT INTO Пример 1.
Вставка новой строки в таблицу table_name.
INSERT INTO table_name VALUES (‘1′,’165′,’0′,’name’);
INSERT INTO Пример 2.
Вставка новой строки в таблицу table_name с указанием вставки данных в нужные нам колонки.
INSERT INTO table_name VALUES (‘1′,’165′,’0′,’name’);
В базе данных MySQL имеется возможность вставлять множество новых строк, используя одну команду INSERT .
INSERT INTO Пример 3.
Вставка несколько строк в таблицу table_name.
INSERT INTO table_name (tbl_id, chislo, chislotwo, name) VALUES (‘1′,’159′,’34’,’name1′), (‘2′,’14’,’61’,’name2′), (‘3′,’356′,’8′,’name3’);
Откуда: MSK
Сообщений: 81
Доброго времени суток.
Имеется домен, служба SQL2008 поднята от имени локального пользователя.
BULK INSERT от имени пользователя (роль sysadmin, windows авторизация) работает. От имени другого пользователя(роль sysadmin, sql авторизация) - работать не хочет, пишет :"Нет разрешения на использование инструкции массовой загрузки". подскажите, что нужно выставить для этого пользователя, чтобы он смог выполнить булку.
Re: Bulk Insert, проблема выполнения [new]
Откуда:
Сообщений: 104764
В статье хелпа о BULK INSERT прочитать параграф Permissions. И назначить нужные права
Re: Bulk Insert, проблема выполнения [new]
Скорее всего, у учетной записи нету доступа к файлу.
Курите Credentials.
Re: Bulk Insert, проблема выполнения [new]
Откуда: MSK
Сообщений: 81
Требует разрешений INSERT и ADMINISTER BULK OPERATIONS
Он и так SYSADMIN
Re: Bulk Insert, проблема выполнения [new]
Откуда:
Сообщений: 104764
Он и так SYSADMIN
Вы это как узнали/проверили.
Re: Bulk Insert, проблема выполнения [new]
Откуда: MSK
Сообщений: 81
Скорее всего, у учетной записи нету доступа к файлу. Курите Credentials.
К файлу сделал доступ: Все, анонимный, все из домена
Прикрутил Credentials доменного пользователя и локального - ничего не меняется.
Он и так SYSADMIN
Вы это как узнали/проверили ?
Завел имя входя сам и
EXEC master..sp_addsrvrolemember @loginame = N'AAA', @rolename = N'sysadmin'
Re: Bulk Insert, проблема выполнения [new]
К файлу сделал доступ: Все, анонимный, все из домена
Прикрутил Credentials доменного пользователя и локального - ничего не меняется.
И чо, OPENROWSET(. ) работает?
Продукты и услуги Информационно-правовое обеспечение ПРАЙМ Документы ленты ПРАЙМ Приказ Министерства регионального развития РФ от 19 октября 2006 г. № 121 «Об утверждении Инструкции о порядке заполнения формы разрешения на ввод объекта в эксплуатацию»
Приказ Министерства регионального развития РФ от 19 октября 2006 г. № 121 «Об утверждении Инструкции о порядке заполнения формы разрешения на ввод объекта в эксплуатацию»В соответствии с пунктом 2 постановления Правительства Российской Федерации от 24 ноября 2005 года N 698 «О форме разрешения на строительство и форме разрешения на ввод объекта в эксплуатацию» (Собрание законодательства Российской Федерации, 2005, N 48, ст. 5047), приказываю:
Утвердить прилагаемую Инструкцию о порядке заполнения формы разрешения на ввод объекта в эксплуатацию.
Зарегистрировано в Минюсте РФ 15 ноября 2006 г.
Регистрационный N 8477
Приложение
к приказу Министерства регионального развития РФ
от 19 октября 2006 г. N 121
Настоящая Инструкция разработана в соответствии с постановлением Правительства Российской Федерации от 24 ноября 2005 г. N 698 «О форме разрешения на строительство и форме разрешения на ввод объекта в эксплуатацию» (Собрание законодательства Российской Федерации, 2005, N 48, ст. 5047) и определяет порядок заполнения формы разрешения на ввод объекта в эксплуатацию.
В строке «Кому» указываются:
- фамилия, имя, отчество гражданина, если основанием для выдачи разрешения на ввод объекта в эксплуатацию является заявление физического лица;
- полное наименование организации в соответствии со статьей 54 Гражданского кодекса Российской Федерации, если основанием для выдачи разрешения на ввод объекта в эксплуатацию является заявление юридического лица.
В строке «Разрешения на ввод объекта в эксплуатацию N ____» указывается:
- номер разрешения на ввод объекта в эксплуатацию, присвоенный федеральным органом исполнительной власти, органом исполнительной власти субъекта Российской Федерации, органом местного самоуправления, осуществляющим выдачу разрешения на строительство.
Номер разрешения на ввод объекта в эксплуатацию имеет следующую структуру А-Б, где:
А - регистрационный номер, присвоенный муниципальному образованию, согласно Инструкции о ведении государственного реестра муниципальных образований Российской Федерации, утвержденной приказом Министерства юстиции Российской Федерации от 19 августа 2005 года N 136 «Об утверждении Инструкции о ведении государственного реестра муниципальных образований Российской Федерации» (Зарегистрирован в Министерстве юстиции Российской Федерации от 25 августа 2005 г. N 6944, Российская газета N 193 от 01.09.2005 г.).
Б - порядковый номер утвержденного разрешения на ввод объекта в эксплуатацию, присвоенный федеральным органом исполнительной власти, органом исполнительной власти субъекта Российской Федерации, органом местного самоуправления, осуществляющим выдачу разрешения на ввод объекта в эксплуатацию.
Составные части номера отделяются друг от друга знаком «-». Цифровые индексы обозначаются арабскими цифрами.
В пункте 1 формы разрешения на ввод объекта в эксплуатацию в строке «Наименование уполномоченного федерального органа исполнительной власти или органа исполнительной власти субъекта Российской Федерации или органа местного самоуправления, осуществляющих выдачу разрешения на ввод объекта в эксплуатацию» указывается:
- в случае, если разрешение на ввод объекта в эксплуатацию выдается уполномоченным федеральным органом исполнительной власти для объектов капитального строительства, расположенных на земельных участках, находящихся в федеральной собственности и на которые не распространяется действие градостроительного регламента или для которых не устанавливается градостроительный регламент, указывается наименование федерального органа исполнительной власти;
- в случае, если разрешение на ввод объекта в эксплуатацию выдается уполномоченным органом исполнительной власти субъекта Российской Федерации для объектов капитального строительства, расположенных на земельных участках, находящихся в собственности субъекта Российской Федерации и на которые не распространяется действие градостроительного регламента или для которых не устанавливается градостроительный регламент, указывается наименование органа исполнительной власти субъекта Российской Федерации;
- в случае, если разрешение на ввод объекта в эксплуатацию выдается уполномоченным органом местного самоуправления для объектов капитального строительства, расположенных на земельных участках, находящихся в собственности органа местного самоуправления и на которые не распространяется действие градостроительного регламента или для которых не устанавливается градостроительный регламент, указывается наименование органа местного самоуправления.
В остальных случаях, указывается орган местного самоуправления, выдающий разрешение на ввод объекта в эксплуатацию для объектов капитального строительства находящихся на земельных участках на которые распространяется действие градостроительного регламента вне зависимости от форм собственности.
В строке «разрешает ввод в эксплуатацию построенного, реконструированного, отремонтированного объекта (ненужное зачеркнуть)» оставляется один из перечисленных видов строительства, на который оформляется разрешение на ввод объекта в эксплуатацию, остальные виды строительства зачеркиваются.
В строке «Объект капитального строительства (наименование объекта капитального строительства в соответствии с проектной документацией)» указывается:
- наименование объекта капитального строительства, в соответствии с утвержденной застройщиком или заказчиком проектной документации.
В случае выдачи разрешения на ввод в эксплуатацию линейного объекта, сведения об объекте вносятся в строку «Объект капитального строительства в соответствии с проектной документацией (с указанием общей протяженности и мощности)».
В случае выдачи разрешения на ввод объектов использования атомной энергии в эксплуатацию указываются данные лицензии на право ведения работ в области использования атомной энергии, включающие право эксплуатации объекта использования атомной энергии.
В строке «Расположенного по адресу» указываются наименования:
- субъекта Российской Федерации;
Или указываются наименования:
- субъекта Российской Федерации;
Адрес (улица, проспект, переулок и т.д.). В случае отсутствия адреса объекта капитального строительства, указывается строительный адрес, присвоенный объекту капитального строительства на время строительства.
В пункте 2 формы разрешения на ввод объекта в эксплуатацию заполняется таблица «Сведения об объекте капитального строительства»:
- в столбце «Наименование показателя» указываются показатели объекта капитального строительства;
- в столбце «Единица измерения» указываются единицы измерения;
- в столбце «По проекту» указывается показатель в определенных единицах измерения соответствующих проектной документации;
- в столбце «Фактически» указывается фактический показатель в определенных единицах измерения соответствующих проектной документации;
- графа IV заполняется для объектов капитального строительства, финансируемых за счет средств соответствующих бюджетов.
В строке «Должность уполномоченного сотрудника, осуществляющего выдачу разрешения на ввод объекта в эксплуатацию» указывается должность уполномоченного сотрудника, а также дата (число, месяц, год) заполнения формы разрешения на ввод объекта в эксплуатацию.
В строке «Подпись» ставится собственноручная подпись уполномоченного сотрудника.
В строке «Расшифровка подписи» указывается фамилия полностью, инициалы уполномоченного сотрудника.
Подлинность подписи уполномоченного сотрудника органа, осуществляющего выдачу разрешения на ввод объекта в эксплуатацию, удостоверяется печатью указанного органа.
Приказ Министерства регионального развития РФ от 19 октября 2006 г. N 121 «Об утверждении Инструкции о порядке заполнения формы разрешения на ввод объекта в эксплуатацию»
Зарегистрировано в Минюсте РФ 15 ноября 2006 г.
Регистрационный N 8477
Текст приказа официально опубликован не был
Для просмотра актуального текста документа и получения полной информации о вступлении в силу, изменениях и порядке применения документа, воспользуйтесь поиском в Интернет-версии системы ГАРАНТ: