|
|
|
ทำไม INTO OUTFILE ออกมาเป็น .csv แล้วค่าไหนที่เป็นค่า NULL มันแทนเป็น \N ครับ มีวิธีแก้ไขไหมครับ เหมือนอ่านๆเจอใช้ SELECT IFNULL แต่ใช้ไม่เป็นและเกิด Error ด้วย เลยมาสอบถามผู้รู้ดีกว่า |
|
|
|
|
|
|
|
ทำไม INTO OUTFILE ออกมาเป็น .csv แล้วค่าไหนที่เป็นค่า NULL มันแทนเป็น \N ครับ มีวิธีแก้ไขไหมครับ เหมือนอ่านๆเจอใช้ SELECT IFNULL แต่ใช้ไม่เป็น และเกิด Error ด้วย เลยมาสอบถามผู้รู้ดีกว่า
Code (PHP)
$address = "C:/xampp/htdocs/admin/filecsv/";
$tablename = "items";
$sql = "SELECT * FROM $tablename INTO OUTFILE '$address$tablename.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' ";
$obj = mysql_query($sql);
if($obj){ echo "สร้างไฟล์ใหม่ $tablename.csv เรียบร้อยแล้ว!<br>"; }else{ echo "เกิดข้อผิดพลาดในการสร้างไฟล์ $tablename.csv.<br>"; }
ค่าไหนเป็น NULL มันก็เป็น \N พอเรา import เข้าไปใน Database มันก็จะเป็น N เฉยๆ
*ไม่อยากใช้ if ของ PHP มาดัก อยากรู้คำสั่ง SQL ที่ใช้แก้หน่ะครับ
File .CSV
"8852673000205","10012","FO","ยาเม็ด","AIR-X (ส้ม) 50x10T","50","แผง","0","0","1997-12-03","80","574.87","17","650","0","กล่อง","0","0","523","0000033569",\N,\N,"468","",\N,"0","0","0","2015-08-07 11:25:25","W","0","680","0",\N,"0"
"8852662001404","10015","FO","ยาเม็ด","ALBEN TAB. 50x2 T","50","แผง","0","75","1997-12-03","-690","497.6","30","368.6","15","กล่อ","0","0","993","0000033570",\N,\N,"28","",\N,"-700","15","50","2015-08-14 13:47:54",\N,"0","0",\N,\N,\N
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2015-09-25 15:04:29 |
By :
nPointXer |
View :
1359 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select coalesce( field1, '-'), coalesce(field2, '-') from table
|
|
|
|
|
Date :
2015-09-25 15:12:12 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-09-25 15:12:12
รายละเอียดของการตอบ ::
รูปแบบ SQL เป็นแบบไหนหรอครับ
ถ้าใช้แบบนี้ก็จะเป็นข้อมูลทั้งหมด และตามด้วยค่า NULL
Code (SQL)
SELECT *,coalesce(subm_stock,'') FROM $tablename
ถ้าใช้แบบนี้ ก็จะมีแค่ค่า NULL
Code (SQL)
SELECT coalesce(subm_stock,'') FROM $tablename
เว้นแต่จะใส่แบบนี้ แต่ถ้ามีหลาย table จะใช้ loop ช่วยไม่ได้แล้ว เพราะชื่อ field แตกต่างกัน ลำบากเลย T_T
Code (SQL)
SELECT BCODE, CODE, ID, TYP, NAME, R_SIZE, R_NAM, MIN_STOC, USED, BEGIN, R_STOCK, NET_COST, RSELL_COST, MSELL_COST, M_STOCK, M_NAM, TU, VAT, MAN_CODE, ROW_ID, coalesce(subm_stock,''), coalesce(begin_stock,''), sticker_price, new_status, coalesce(it_cat,''), r_strock_o, m_strock_o, strock_o, date_strock_o
, it_group, it_gp, price_pack, coalesce(p_sticker,''), coalesce(p_pro,''), coalesce(st_cut,'') FROM $tablename
ถ้าไม่มีวิธีอื่นก็ไม่เป็นไรครับ ขอบคุณมากครับผม :)
|
|
|
|
|
Date :
2015-09-25 15:41:41 |
By :
nPointXer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|