我正在使用netbeans並嘗試向數據庫插入新的屬性地址,該地址正常工作。我的添加租客不能有人幫助我。插入兩個表的問題
String addAddress = txtAddAddress.getText();
String addRentAmt = txtAddAmt.getText();
Statement lstatement = conn.createStatement();
ls_query = "INSERT INTO Property(Address,RentAmt) "
+ "VALUES ('" + addAddress + "'," + addRentAmt + ")";
System.out.println(ls_query);
但我需要它插在我的承租人表中的addressID爲好。
這裏是我的sql代碼,所以你可能會看到我的2表的結構。
CREATE TABLE IF NOT EXISTS `Property` (
`AddressID` int(10) NOT NULL,
`Address` varchar(100) NOT NULL,
`RentAmt` double NOT NULL,
PRIMARY KEY (`AddressID`),
UNIQUE KEY `Address` (`Address`),
KEY `Address_2` (`Address`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;
CREATE TABLE IF NOT EXISTS `Renter` (
`RenterID` int(20) NOT NULL AUTO_INCREMENT,
`AddressID` int(10) DEFAULT NULL,
`FirstName` varchar(30) NOT NULL,
`LastName` varchar(30) NOT NULL,
`CellPhone` varchar(15) NOT NULL DEFAULT '000-000-0000',
`DepositPaid` char(1) NOT NULL DEFAULT 'N',
`DepositAmtPaid` decimal(6,0) NOT NULL DEFAULT '0',
PRIMARY KEY (`RenterID`),
UNIQUE KEY `AddressID` (`AddressID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
這裏是我的INSERT語句添加承租人
String addFirstName = txtFirstName.getText();
String addAddress = txtShowAddress.getText();
String addLastName = txtLastName.getText();
String addCellPhone = txtCellPhone.getText();
String addDepositAmtPaid = txtDepositAmtPaid.getText();
Statement lstatement = conn.createStatement();
ls_query = "INSERT INTO Renter
(FirstName,LastName,CellPhone,DepositPaid,DepositAmtPaid) "
+ "VALUES('"
+ addFirstName + "','"
+ addLastName + "','"
+ addCellPhone + "','"
+ addDepositPaid + "',"
+ addDepositAmtPaid + ","
+ "' WHERE RenterID = '" + addressID + "'" ;
但它不工作
如果您將地址放在Renter表中(這是一個不好的主意),那麼當您刪除承租人時,它將被刪除。有道理,對嗎? – GolezTrol
http://sqlfiddle.com/#!2/a7b31 – Mihai