我有兩個MySQL表稱爲distance
和place
如下:刪除行的主鍵
距離
╔════╦══════╦═══════╗
║ id ║ name ║ point ║
╠════╬══════╬═══════╣
║ 1 ║ Call ║ A ║
║ 2 ║ Foo ║ B ║
╚════╩══════╩═══════╝
地方
╔═══════╦═════════╗
║ point ║ address ║
╠═══════╬═════════╣
║ A ║ ABCD ║
║ B ║ CDEF ║
╚═══════╩═════════╝
'id'是'distance'表的主鍵,'point'是主鍵'地方'表的。 'point'是'place'表引用的'distance'表的外鍵。
我想從'地點'表中刪除點'A'的行,這是ID等於'1'。由於這個外鍵是用'on delete cascade constraint'創建的,所以place table的相關行也應該被刪除。 (也就是說,根據下表,距離表的第一行和地點表的第一行應該被刪除)。
這是我迄今在PHP代碼試圖查詢:
mysql_query("delete p.point from place p where p.point IN SELECT * FROM (SELECT d.point FROM distance d GROUP BY d.point where d.id='1')");
但是,這並不刪除行。沒有錯誤消息。 任何人都可以請幫我解決這個問題嗎?
'mysql_query'折舊/取決於你的PHP版本中刪除 - 看看[PDO](http://php.net/manual/en/ref.pdo -mysql.php)或[MySQLi](http://php.net/manual/en/book.mysqli.php) – Aravona