Преобразование типов в MySQL

KolyaA

Guest
Преобразование типов в MySQL

Пишется код на PHP, работающий с MySQL

mysql_query("ALTER TABLE relative
ADD PM VARCHAR(20)",$link);

$relerror = "0.200";

mysql_query("UPDATE relative
SET PM=$relerror
WHERE ID=$k",$link);


Вопрос: почему в таблице я вместо 0.200 вижу 0.2
И как сделать чтобы было 0.200?
 

tony2001

TeaM PHPClub
Код:
mysql>create table test_char ( f VARCHAR(20));
mysql> insert into test_char values ('0.200'); <--- кавычки!
mysql> select * from test_char;
+-------+
| f     |
+-------+
| 0.200 |
+-------+
1 row in set (0.00 sec)
потому, что текстовые данные (а в данном случае они текстовые, ибо поле текстовое) должны быть в кавычках.
 

Фанат

oncle terrible
Команда форума
скажи, а тебе никогда не приходило в голову, что запрос в базу идет не в виде
SET PM=$relerror а в несколько другом?
А если приходило - то почему ты смотришь именно на это, а не на то, что пойдет в базу?
А там, глядишь - ид огадаешься - отчего это дурная база решила преобразовать типы.
 
Сверху