У меня была проблема, и метод, с которым Майк советовал отчасти отчасти, имел ошибку Dublicate Column name = '0' и изменил синтаксис вашего запроса как это [
$tQ = "INSERT INTO names (name_id, surname_id, sum, sum2, sum3,sum4,sum5)
SELECT '$name', '$surname', '$sum', '$sum2', '$sum3','$sum4','$sum5'
FROM DUAL
WHERE NOT EXISTS (
SELECT sum FROM names WHERE name_id = '$name'
AND surname_id = '$surname') LIMIT 1;";
Проблема был с именами столбцов. sum3 был равен sum4, а mysql выбрал имена столбцов дубликатов, и я написал код в этом синтаксисе, и он отлично работал,
Из документации модуля предупреждений
:
#!/usr/bin/env python -W ignore::DeprecationWarning
Если вы работаете в Windows: передайте -W ignore :: DeprecationWarning
в качестве аргумента Python. Однако лучше решить проблему, приведя код к int .
(Обратите внимание, что в Python 3.2 предупреждения об устаревании по умолчанию игнорируются.)
Python 3
Просто пишет ниже строк, которые легко помнить прежде, чем написать Ваш код:
import warnings
warnings.filterwarnings("ignore")
Вы должны просто исправить свой код, но на всякий случай,
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Передать правильные аргументы? : P
На более серьезном замечании, вы можете передать аргумент -Wi :: DeprecationWarning в командной строке интерпретатору, чтобы игнорировать предупреждения об устаревании.
Преобразуйте аргумент в int. Это так же просто, как
int(argument)
Не для того, чтобы вас обидеть, но вас предупреждают, что то, что вы делаете, скорее всего, перестанет работать при следующем обновлении python. Преобразуйте в int и покончите с этим.
BTW. Вы также можете написать свой собственный обработчик предупреждений. Просто назначьте функцию, которая ничего не делает. Как перенаправить предупреждения Python в настраиваемый поток?
У меня были эти:
/home/eddyp/virtualenv/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/persisted/sob.py:12:
DeprecationWarning: the md5 module is deprecated; use hashlib instead import os, md5, sys
/home/eddyp/virtualenv/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/python/filepath.py:12:
DeprecationWarning: the sha module is deprecated; use the hashlib module instead import sha
Исправлено:
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore",category=DeprecationWarning)
import md5, sha
yourcode()
Теперь вы все еще получаете все остальные DeprecationWarning
s, но не те, которые были вызваны:
import md5, sha
Я нашел самый чистый способ сделать это (особенно на windows), добавив следующее в C:\Python26\Lib\site-packages\sitecustomize.py:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
Обратите внимание, что мне пришлось создать этот файл. Конечно, измените путь к python, если ваш путь отличается.