簡體   English   中英

如何在mysql數據庫中存儲具有true / false值的xml文件

[英]How to store a xml file with true/false value in a mysql database

我有一個包含以下行的xml文件

 <row Id="50720" UserId="24115" Name="Teacher" Date="2011-04-29T03:17:22.257" Class="3" TagBased="False" /> <row Id="50717" UserId="902" Name="c++" Date="2011-04-29T03:00:17.067" Class="3" TagBased="True" /> 

我想將此xml文件的數據存儲到我的mysql數據庫中。 我當前的創建表語法是

create table Badges(
Id int,
UserId int,
Name nvarchar (50),
Date datetime,
Class tinyint,
TagBased bit
);

導入xml文件的sql語句如下:

LOAD XML LOCAL INFILE '/media/anurag/Learning/iit_hyderabad/Sem_3/dataset /Badges.xml'
INTO TABLE Badges(Id, UserId, Name, Date, Class,TagBased);

但是TagBased列不能正確存儲,因為mysql不能直接將False識別為0,將True識別為1。以上查詢為數據庫中的所有False和True字段存儲1。

您能為我提供正確的查詢解決方案嗎?

您需要在load xml語句中使用變量,以將文本true / false轉換為布爾值true / false,該值與1/0相同。

LOAD XML LOCAL INFILE '/media/anurag/Learning/iit_hyderabad/Sem_3/dataset /Badges.xml'
INTO TABLE Badges(Id, UserId, Name, Date, Class,@var)
SET TagBased=(@var = 'True');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM